设计模式

设计模式原则

单一职责原则

Single Responsibility Principle, SRP

实现类要职责单一,这样某一职责变动时不会破环其他职责

开闭原则

The Open-Closed Principle, OCP

“实体”应该允许在不修改其源代码的情况下扩展功能

里氏替换原则

Liskov Substitution Principle, LSP

所有引用基类的地方必须能透明地使用其子类的对象

最少知识原则

Least Knowledge Principle, LKP

一个对象应该对其他对象有最少的了解,即一个类应该对自己需要耦合或调用的类知道得最少,只关注自己调用的public方法,其他的一概不关心。

接口隔离原则

Interface segregation principle, ISP

客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上,接口尽量细化,同时接口中的方法尽量少

依赖倒置原则

Dependency inversion principle, DIP

高层模块不应该依赖低层模块,二者都应该依赖其抽象(即面向接口编程)

总结

  • 单一职责原则告诉我们实现类要职责单一;
  • 里氏替换原则告诉我们不要破坏继承体系;
  • 依赖倒置原则告诉我们要面向接口编程;
  • 接口隔离原则告诉我们在设计接口的时候要精简单一;
  • 最少知识原则(迪米特法则)告诉我们要降低耦合;
  • 开闭原则是总纲,告诉我们要对扩展开放,对修改关闭。

常见的22种设计模式

参考 Refactoring Guru 设计模式

引用