http://my.oschina.net/rainingcn/blog/41458
一。創建者模式:
1.工廠模式注重的是整體對象的創建方法,而建造者模式注重的是部件構建的過程,旨在通過一步步的精確構造創建出一個複雜的對象。抽象工廠模式實現對產品家族的創建。
2.(抽象)工廠模式與創建者模式的不同:
2.1 意圖不同: 工廠模式關注的是一個產品的整體,而建造者模式由一個個產品組成部分的創建過程。
2.2 產品的複雜度不同:工廠模式創建的一般都是單一產品,而建造者模式創建的是一個複雜的產品
3.原型模式:原型模式其實是從一個對象再創建另個一個可定製的對象,而且不需知道任何創建的細節。一般在初始化的信息不發生變化的情況下,克隆是最好的辦法。
(4.模板模式:使用繼承,將所有重複的代碼都要上升到父類中。)
5.單例模式:創建一個實例
二。結構類模式:通過組合類或對象產生更大結構以適應更高層次的邏輯需求。
1. 代理模式與裝飾模式很像。代理模式關注控制過程的訪問,使用者關注的是原來的功能;而裝飾模式關注的是在一個對象上動態的添加方法,使用者關注的是裝飾之後的功能。
從行爲上說,當使用代理模式的時候,我們常常在一個代理類中創建一個對象的實例。而使用裝飾器模 式的時候,通常的做法是將原始對象作爲一個參數傳給裝飾者的構造器。
2.裝飾模式和適配器模式差別比較大,但它們的功能也有相似的地方:都是包裝作用,都是通過委託方式實現其功能。不同點:裝飾模式包裝的是自己的兄弟類,率屬於同一個家族(相同接口或者父類),適配器模式則修飾非血緣關係類,關注的是兩個對象之間的轉換。
3.共同點:橋接和適配器都是讓兩個東西配合工作
不同點:出發點不同。
適配器:改變已有的兩個接口,讓他們相容。
橋接模式:分離抽象化和實現,使兩者的接口可以不同,目的是分離
4.組合模式以類爲主導,
裝飾模式以對象爲主導
組合模式弊端,組合的種類多種多樣,爲每種組合創造一個類,類的數量急劇的增加。
裝飾模式弊端,會造成對象的嵌套層次太深
三。行爲類模式:
1.命令模式與策略模式的區別:
類圖相似,但是命令模式多了個接受者(Receiver)
1.1關注點不同:策略模式關注的是算法的替換問題,命令模式關注的是解耦問題:請求者、接受者之間的解耦,命令之間的解耦。
2.策略模式VS狀態模式:
策略模式旨在解決內部算法如果改變問題,保證的是算法可自由切換;狀態模式旨在解決內在狀態的改變而引起行爲改變的問題,它的出發點是事物的狀態,封裝狀態而暴露行爲。