OCP | Open-Closed Principle | 开放封闭原则 |
DIP | Dependency Inversion Principle | 依赖倒置原则 |
LSP | Liskov Substitution Principle | 里氏替换原则 |
ISP | Interface Insolation Principle | 接口隔离原则 |
SRP | Single Resposibility Principle | 单一职责原则 |
CARP | Composite/Aggregate Reuse Principle | 合成/聚合复用原则 |
LoD | Law Of Demeter or Principle of Least Knowledge | 迪米特原则或最少知道原则 |
1.开放封闭原则:软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。
2.依赖倒置原则:依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。
3.里氏替换原则,很严格的原则,规则是“子类必须能够替换基类,否则不应当设计为其子类。”也就是说,子类只能去扩展基类,而不是隐藏或覆盖基类。
4.接口隔离原则:使用多个小的专门的接口,而不要使用一个大的总接口
5.单一职责原则:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。
6.合成/聚合复用原则:应尽量使用组合和聚合,而不是处处使用继承
7.迪米特原则:一个对象应当对其他对象有尽可能少的了解,不和陌生人说话,尽量降低类与类之间的耦合。