没有OCP,你还有战略模式吗?

时间:2013-08-23 15:53:59

标签: design-patterns strategy-pattern open-closed-principle

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

对错

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

我向教授询问了“关键所在”是什么意思,并澄清道:“如果没有OCP,你还有战略模式吗?”

你们有个主意吗?

1 个答案:

答案 0 :(得分:1)

我在大学里讨厌这些类型的问题,因为我一直认为他们是固执己见的。

然而,如果我必须给出一个答案,我会说错误

为什么?

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

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

实际上让我说错误的想法是我认为战略模式的关键是原则:程序到界面而不是实现,即使在大学里我们也按照确切的顺序学习它们。