我今天参加了关于设计模式的考试。有一个问题我不知道答案,我很好奇。
对错
"The open/closed principle is the key to the strategy pattern".
我向教授询问了“关键所在”是什么意思,并澄清道:“如果没有OCP,你还有战略模式吗?”
你们有个主意吗?
答案 0 :(得分:1)
我在大学里讨厌这些类型的问题,因为我一直认为他们是固执己见的。
然而,如果我必须给出一个答案,我会说错误。
为什么?
我认为OCP是一个通用原则,适用于从代码中的小型重构到架构模式的多个层面,并且它不仅限于设计模式。
OCP建议您保持代码处于开放状态以进行扩展并关闭以进行修改,当然,策略模式适用于此,因为您可以在运行时和将来添加更多策略而无需修改代码,但这并不意味着没有OCP就不会存在战略。
实际上让我说错误的想法是我认为战略模式的关键是原则:程序到界面而不是实现,即使在大学里我们也按照确切的顺序学习它们。