原则目的:高内聚,低耦合

  1. 单一职责原则 Single Responsibility Principal(SRP):类的职责单一,对外只提供一种功能
  2. 开闭原则 Open-Closed Principal(OCP):对扩展开放,对修改关闭,类的改动是通过增加代码进行的,而不是修改源代码
  3. 里氏代换原则 Liskov Substitution Principal(LSP):任何抽象类出现的地方都可以用他的实现类进行替换(多态)
  4. 依赖倒转原则 Dependence Inversion Principal(DIP):依赖于抽象(接口),不要依赖具体的实现(类),针对接口编程
  5. 接口隔离原则 Interface Segregation Principal(ISP):一个接口应该只提供一种对外功能,不应该把所有操作都封装到一个接口中去
  6. 合成复用原则 Composite Reuse Principal(CRP):对于继承和组合,优先使用组合
  7. 迪米特法则 Law of Demeter(LoD):一个对象应当对其他对象尽可能少的了解,从而降低各个对象之间的耦合。例如在一个程序中,各个模块之间相互调用时,通常会提供一个统一的接口来实现。这样其他模块不需要了解另外一个模块的内部实现细节(黑盒原理)