【发布时间】:2010-10-20 23:32:31
【问题描述】:
我最近一直在尝试学习基本的设计原则,而 OCP 让我有些困惑。有意义的是,当发生更改时,最好扩展系统而不是修改现有的和工作的部分。但这不是更多关于如何在系统中实现更改而不是如何设计的原则吗?通过使用子类化,不是所有代码基本上都可以扩展吗?以及如何关闭任何代码以进行修改 - 这不仅取决于实施更改的人选择使用它的方式吗?
也许一些不遵循 OCP 的代码示例以及它究竟是如何违反原则的,这对我理解这一点最有帮助。
谢谢
【问题讨论】:
-
嘿。我以前从未听说过它被称为“OCP”。这听起来像是一首说唱歌曲:“O.C.P. 你的程序失败了吗?”。