最经典的是 SOLID 五个,但也有说六个、七个的。
SOLID
- 单一职责原则 SRP Single Responsibility
一个类只做一件事 - 开闭原则 OCP Open Closed
开放拓展,关闭修改 - 里氏替换原则 LSP Liskov Substitution
子类对象可以替换父类对象 - 接口分隔原则 ISP Interface Segregation
尽量不要使用多个接口 - 依赖倒置原则 DIP Dependency Inversion
依赖抽象,不依赖具体实现
迪米特原则
1987, Northeastern University.
Law of Demeter,又叫 Least-Privilege Principle,或者 Least Knowledge Principle
一个对象应当对其他对象保持最少的了解。
合成复用原则
Composite Reuse Priniciple, CRP
又叫 Composite / Aggregate Reuse Priniciple, CARP
- 继承复用:
- 合成复用:将多个类合成一个类,使得类的功能更加简单,继承关系更加简单。