开闭原则

PPG007 ... 2021-12-30 Less than 1 minute

# 开闭原则

Tips

一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

# 为什么要采用开闭原则

  • 开闭原则对测试的影响:只需要孤立测试就可以测试正确性。
  • 开闭原则可以提高复用性。
  • 开闭原则可以提高可维护性。
  • 面向对象开发的要求:设计之初考虑所有可能变化的因素,留下接口。

# 如何使用开闭原则

  • 抽象约束:
    • 通过接口或抽象类约束扩展,对扩展进行边界限定。
    • 参数类型、引用对象尽量使用接口或者抽象类而不是实现类。
    • 抽象层尽量保持稳定,一旦确定即不允许修改。
  • 元数据(metadata)控制模块行为:(控制反转 IOC)。
  • 指定项目章程。
  • 封装变化:
    • 将相同的变化封装到一个接口或抽象类中。
    • 将不同的变化封装到不同的接口或抽象类中,不应该有两个不同的变化出现在同一个接口或抽象类中。
Last update: December 30, 2021 09:14
Contributors: PPG007