1. “开闭”原则 Open-Closed Principle OCP
1)对扩展开放
2)对修改关闭
这是目标。
2. 里氏替换原则 Liskov Substitution Principle LSP
基类出现的地方,子类也可以出现
LSP是对OCP的补充。
违反LSP,则违反OCP,反之不一定。
3. 依赖倒置原则 Dependency Inversion Principle DIP
要依赖抽象,不要依赖具体实现。
这是实现OCP的手段。
4. 接口隔离原则 Interface Segregation Principle ISP
尽可能提供小的单独的接口,而不是大的总接口。
5. 组合/聚合利用原则 Composition/Aggregation Principle CARP
尽量使用合成/聚合,而不是继承来达到利用的目的。
这是实现OCP的手段。
6. 迪米特法则 Law of Demeter LoD
软件实体应与最少的其他实体发生相关作用。
这是实现OCP的手段。