0

我今天参加了关于设计模式的考试。有一个问题我不知道答案,我很好奇。

对或错

"The open/closed principle is the key to the strategy pattern".

我问教授他所说的“关键”是什么意思,并澄清:“没有OCP,你还有策略模式吗?”

你们有什么想法吗?

4

1 回答 1

1

我在大学时讨厌这些类型的问题,因为我一直觉得它们是固执己见的。

不过,如果我必须给出一个答案,我会说False

为什么 ?

我认为 OCP 是一个通用原则,适用于从代码中的小规模重构到架构模式的许多层面,而且它不仅限于设计模式。

OCP 建议您保持您的代码对扩展开放而对修改关闭,当然策略模式适用于这一点,因为您可以在运行时和将来添加更多策略,而无需修改您的代码,但这并不意味着策略不会没有OCP就不会存在。

实际上,让我说 False 的想法是,我认为 Strategy 模式的关键是原则:Program to Interface Not to an Implementation,即使在大学里,我们也是按照确切的顺序学习它们的。

于 2013-08-23T21:34:26.380 回答