讀了關於設計模式,並發現有23個(?)已定義的一些奇模式。我見過幾個(即建造和裝飾)有些重疊,將建議要麼設計模式正交
一個。我不完全理解給定的模式,並在它們之間
B上的差異。一些少數模式的設計特點與他人
重疊,不應該設計模式的整個哲學強制執行模式「正交性」的想法,在一組已知模式的?
讀了關於設計模式,並發現有23個(?)已定義的一些奇模式。我見過幾個(即建造和裝飾)有些重疊,將建議要麼設計模式正交
一個。我不完全理解給定的模式,並在它們之間
B上的差異。一些少數模式的設計特點與他人
重疊,不應該設計模式的整個哲學強制執行模式「正交性」的想法,在一組已知模式的?
不是真的,我不認爲任何設計圖案完全重疊另一個。他們之間總是有差異來解釋他們沒有合併的事實。
維基說:
在面向對象的編程中, 裝飾圖案是一種設計模式 ,其允許新的/附加的行爲 被添加到現有的類 動態。
和
Builder模式是一種軟件 設計模式。其目的是爲了使 對象的構造的 對象的抽象步驟 不同 實現這些步驟可以構造 對象的不同表示。
即使它有一些相似的概念,它也不完全相同。
儘管由四人組(GO4)定義了23,但其字面上的設計模式數量是無限的。你可以滾你自己,並調用它珍妮,如果你想......如果人們接受它,然後它實際上是一個設計模式。根據技術組合的不同,您可以一次使用n個模式。
這裏是一個很好的來源,以.NET世界的範圍內學習模式(這是$ 99,但非常寶貴):
http://www.dofactory.com/Default.aspx
至於重疊...不是真的...一個很好的例子將是MVC(模型視圖控制器)。實際上它有很多種方式實現,比如CakePHP,ASP.NET MVC,Spring,Struts等。但它有一個近親叫MVP(模型視圖展示器),它們從來沒有見過面;他們共享許多方面(模型視圖部分),但有明顯的差異。
在任何給定的開發項目中,您都可以使用數十種設計模式。例如。存儲庫模式,MVC,裝飾器等等。