标签: open-closed-principle
从“敏捷原理,模式和实践”这本书中,OCP的假设是:
符合OCP的模块具有两个主要属性。 它们对扩展开放。这意味着可以扩展模块的行为。如 应用程序需求的变化,我们可以用新的行为扩展模块 满足那些变化。换句话说,我们可以更改模块的功能。 已关闭以进行修改。扩展模块的行为不会导致模块的源代码或二进制代码更改。的二进制可执行版本 可链接库,DLL或.EXE文件中的模块保持不变。
符合OCP的模块具有两个主要属性。
它们对扩展开放。这意味着可以扩展模块的行为。如 应用程序需求的变化,我们可以用新的行为扩展模块 满足那些变化。换句话说,我们可以更改模块的功能。
已关闭以进行修改。扩展模块的行为不会导致模块的源代码或二进制代码更改。的二进制可执行版本 可链接库,DLL或.EXE文件中的模块保持不变。
如果我们扩展模块,则不需要添加新类,因此在重建模块时其二进制文件也会更改。