2009-07-20 181 views
1

讀了關於設計模式,並發現有23個(?)已定義的一些奇模式。我見過幾個(即建造和裝飾)有些重疊,將建議要麼設計模式正交

一個。我不完全理解給定的模式,並在它們之間

B上的差異。一些少數模式的設計特點與他人

重疊,不應該設計模式的整個哲學強制執行模式「正交性」的想法,在一組已知模式的?

回答

3

不是真的,我不認爲任何設計圖案完全重疊另一個。他們之間總是有差異來解釋他們沒有合併的事實。

維基說:

alt text

在面向對象的編程中, 裝飾圖案是一種設計模式 ,其允許新的/附加的行爲 被添加到現有的類 動態。

alt text

Builder模式是一種軟件 設計模式。其目的是爲了使 對象的構造的 對象的抽象步驟 不同 實現這些步驟可以構造 對象的不同表示。

即使它有一些相似的概念,它也不完全相同。

0

儘管由四人組(GO4)定義了23,但其字面上的設計模式數量是無限的。你可以滾你自己,並調用它珍妮,如果你想......如果人們接受它,然後它實際上是一個設計模式。根據技術組合的不同,您可以一次使用n個模式。

這裏是一個很好的來源,以.NET世界的範圍內學習模式(這是$ 99,但非常寶貴):

http://www.dofactory.com/Default.aspx

至於重疊...不是真的...一個很好的例子將是MVC(模型視圖控制器)。實際上它有很多種方式實現,比如CakePHP,ASP.NET MVC,Spring,Struts等。但它有一個近親叫MVP(模型視圖展示器),它們從來沒有見過面;他們共享許多方面(模型視圖部分),但有明顯的差異。

在任何給定的開發項目中,您都可以使用數十種設計模式。例如。存儲庫模式,MVC,裝飾器等等。