【问题标题】:How do you write code that conforms to the OCP?如何编写符合 OCP 的代码?
【发布时间】:2010-10-20 23:32:31
【问题描述】:

我最近一直在尝试学习基本的设计原则,而 OCP 让我有些困惑。有意义的是,当发生更改时,最好扩展系统而不是修改现有的和工作的部分。但这不是更多关于如何在系统中实现更改而不是如何设计的原则吗?通过使用子类化,不是所有代码基本上都可以扩展吗?以及如何关闭任何代码以进行修改 - 这不仅取决于实施更改的人选择使用它的方式吗?

也许一些不遵循 OCP 的代码示例以及它究竟是如何违反原则的,这对我理解这一点最有帮助。

谢谢

【问题讨论】:

  • 嘿。我以前从未听说过它被称为“OCP”。这听起来像是一首说唱歌曲:“O.C.P. 你的程序失败了吗?”。

标签: oop open-closed-principle


【解决方案1】:

一个典型的例子是任何基于事物类型分支的逻辑。 这样做意味着每次需要添加新类型时,都必须更改此代码。 使用虚函数意味着您可以为新类型添加新类,而无需更改现有代码。

Open Closed Principle (PDF)

里面有代码示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 2021-09-04
    • 2017-12-12
    • 2021-03-12
    • 2018-06-27
    相关资源
    最近更新 更多