知识卡片

开闭原则的定义

普通读书笔记卡 · 1874.a.1

内容

开闭原则(OCP)要求软件实体应对扩展开放、对修改关闭:应对变化优先通过新增代码实现,而 非改动已投产验证的旧代码。这不是禁止修改——低层模块变更仍需高层模块相应调整;关闭的是 对已验证稳定行为的直接改写。发散:开闭原则是”增量优于覆写”的哲学,价值在于把变更风险 限定在新增代码范围内。

参考来源

- 位置:《设计模式之禅(第2版)》第6章《开闭原则》(源文件:_epub-src/text/part0022.html、part0023.html) - 结论依据:原文给出英文原始定义"对扩展开放,对修改关闭"后,明确软件实体包括模块、抽象和类、方法三部分,并特别注明"并不意味着不做任何修改,低层模块的变更,必然要有高层模块进行耦合"。 - 原始内容:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭……开闭原则对扩展开放,对修改关闭,并不意味着不做任何修改,低层模块的变更,必然要有高层模块进行耦合,否则就是一个孤立无意义的代码片段。