- 单一职责原则
对类来说,一个类应该只负责一项职责
- 接口隔离原则
一个类对另一个类的依赖应该建立在最小的接口上
- 依赖倒转原则
a 高层模块不应该依赖低层模块,两者应该依赖其抽象
b 抽象不应该依赖细节,细节应该依赖抽象
c 依赖倒转的中心思想是面向接口编程
d 抽象指的是接口或抽象类,细节就是具体的实现类
依赖关系传递的三种方式: 接口传递,构造方法传递,setter方式传递
4)里氏替换原则
在编程中,如何正确的使用继承? => 里氏替换原则
所有引用基类的地方必须能够透明地使用其子类的对象.
在使用继承时,在子类中尽量不要重写父类的方法.
里氏替换原则告诉我们,继承实际上让两个类的耦合性增强了,在适当情况下,可以使用聚合,组合,依赖来解决问题.
5)开闭原则ocp
一个软件实体,如类,模块和函数应该对扩展开放,对修改关闭.
用抽象构建框架,用实现扩展细节.
6)迪米特法则
迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好. 也就是说,对于依赖的类不管多么复杂,都尽量将逻辑封装在类的内部.对外除了提供的public方法,不对外泄漏任何信息.
7)合成复用原则
尽量使用合成/聚合的方式,而不是继承