设计模式学习-设计原则

1、单一职责原则

  • 就一个类而言,应该仅有一个引起它变化的原因

如果一个雷承担的职责过多,就等于吧这些职责耦合在一起,一个职责的变化可能会小若或者一直这个类完成其它职责的能力,这种耦合会导致脆弱的设计,当需求变化时,可能会导致大面积的破坏

2、开放封闭原则

  • 类、模块、函数等应该可以扩展但是不可以修改
  • 对于扩展是开放的(open for extension)
  • 对于修改是封闭的(closed for modification)

3、依赖倒转原则

  • 抽象不应该依赖细节,细节应该依赖于抽象(面向接口,不要面向实现)
  • 高层模块不应该依赖底层模块。都应该依赖抽象

4、里式代换原则

  • 子类型必须能够替换掉他们的父类型

5、迪米特法则(最少知识原则)

  • 如果两个类不必彼此直接通信,那么这两个类就不应该发生直接相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转达这个调用
  • 强调类之间松耦合,在类的结构设计上每一个类都应该当尽量降低成员访问权限
  • 耦合越弱越有利于复用