1. 单一职责原则:
-
一个类应该只有一个发生变化的原因
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭遇到意想不到的破坏。
2. 开发-封闭原则(OCP):open close principle
-
对于扩展是开放的
-
对于修改是封闭的
3. 依赖倒置原则:
- 高层模块不应该依赖低层模块,两个都应该依赖抽象
- 抽象不应该依赖细节,细节应该依赖抽象
举例:
PC里如果cpu、内存、、硬盘都需要依赖具体的主板,主板一坏,所有的部件都没有用了。所有如果他们都依赖抽象,那任何一个更改都不用担心其他受影响。
4. 里氏代换原则:
- 子类型必须能够替换掉它们的父类型。
5. 接口隔离原则:
- 客户端不应该依赖它不需要的接口。
- 一个类对另一个类的依赖应该建立在最小的接口上