1、单一职责原则
- 就一个类而言,应该仅有一个引起它变化的原因
如果一个雷承担的职责过多,就等于吧这些职责耦合在一起,一个职责的变化可能会小若或者一直这个类完成其它职责的能力,这种耦合会导致脆弱的设计,当需求变化时,可能会导致大面积的破坏
2、开放封闭原则
- 类、模块、函数等应该可以扩展但是不可以修改
- 对于扩展是开放的(open for extension)
- 对于修改是封闭的(closed for modification)
3、依赖倒转原则
- 抽象不应该依赖细节,细节应该依赖于抽象(面向接口,不要面向实现)
- 高层模块不应该依赖底层模块。都应该依赖抽象
4、里式代换原则
- 子类型必须能够替换掉他们的父类型
5、迪米特法则(最少知识原则)
- 如果两个类不必彼此直接通信,那么这两个类就不应该发生直接相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转达这个调用
- 强调类之间松耦合,在类的结构设计上每一个类都应该当尽量降低成员访问权限
- 耦合越弱越有利于复用