开闭原则
PPG007 ... 2021-12-30 Less than 1 minute
# 开闭原则
Tips
一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
# 为什么要采用开闭原则
- 开闭原则对测试的影响:只需要孤立测试就可以测试正确性。
- 开闭原则可以提高复用性。
- 开闭原则可以提高可维护性。
- 面向对象开发的要求:设计之初考虑所有可能变化的因素,留下接口。
# 如何使用开闭原则
- 抽象约束:
- 通过接口或抽象类约束扩展,对扩展进行边界限定。
- 参数类型、引用对象尽量使用接口或者抽象类而不是实现类。
- 抽象层尽量保持稳定,一旦确定即不允许修改。
- 元数据(metadata)控制模块行为:(控制反转 IOC)。
- 指定项目章程。
- 封装变化:
- 将相同的变化封装到一个接口或抽象类中。
- 将不同的变化封装到不同的接口或抽象类中,不应该有两个不同的变化出现在同一个接口或抽象类中。