2013-08-23 20 views
0

我今天參加了有關設計模式的考試。有一個問題我不知道答案,我很好奇。你是否還有沒有OCP的戰略模式?

真或假

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

我問教授了他的意思是「關鍵」,並澄清:「你還有沒有OCP的策略模式」

你們有想法嗎?

回答

1

我在大學裏討厭這些類型的問題,因爲我一直覺得他們是有見地的。

不過,如果我必須給出一個單一的答案,我會說

爲什麼?

我認爲OCP是一個通用原則,適用於從代碼中的小型重構到架構模式的許多級別,並且不僅限於設計模式。

OCP建議您保持代碼對擴展開放和關閉修改,肯定是戰略模式應用於此,你可以在無需修改代碼,但是這並未添加在運行時和將來更多的策略如果沒有OCP,戰略就不會存在。

事實上,讓我說虛假的想法是,我認爲戰略模式的關鍵是原則:程序接口不是執行,即使在大學我們也是按照這個順序學到的。