Skip to content

七大基本原则

design-principle

单一职责原则

  1. 一种类只能具有一种职责,降低类的复杂度。
  2. 提高类的可读性,可维护性。
  3. 降低变更引起的风险。
  4. 在类中的方法比较少的时候,可以在方法级别保持单一职责原则。其他情况下,都要保持类的类单一职责原则。

接口隔离原则

  1. 客户端不应该依赖它不需要的接口。
  2. 一个类对另一个类的依赖应该建立在最小的接口上。

依赖倒置原则

  1. 依赖倒置原则的中心思想是面向接口编程。
  2. 抽象不应该依赖细节,细节应该依赖抽象。抽象是接口或者抽象类,细节即为实现类。
  3. 对于细节的多变性,抽象的东西要稳定的多。

里氏替换原则

  1. 继承遵守里氏替换原则,子类尽量不要重写父类的方法。如果子类重写了父类的方法,实际上是增加了子类和父类之间的耦合度。
  2. 在引用父类的地方能直接使用其子类替换。
  3. 若子类需要修改父类的方法,可以通过组合、聚合、依赖等方法实现。

开闭原则

  1. 对扩展开放。
  2. 对修改关闭。

迪米特法则

  1. 最少知道原则。一个类对自己依赖的类知道越少越好。
  2. 直接朋友。一个类作为成员变量、方法参数、方法返回值出现在另一个类。称该类为另一个类的直接朋友。
  3. 减少非直接朋友的耦合。不要以局部变量的形式出现在其他类。

合成复用法则(组合/聚合复用原则)

  1. 在复用情况时,尽量使用组合和聚合的方式,减少继承的使用。
  2. 若使用继承,则必须严格遵守里式替换原则。
  3. 组合关系。另一个类随着当前类创建和销毁。 例如人和手的关系就是组合关系。
  4. 聚合关系。另一个类包含在当前类中,但另一个类不是当前类的组成部分,另一个类不会因为当前类的创建和销毁而去创建和销毁。 例如人和电脑的关系就是聚合关系。