Posted on 2015-05-09 11:15
Onway 閱讀(250)
評論(0) 編輯 收藏 引用 所屬分類:
設(shè)計模式
1,抽象工廠
提供一個創(chuàng)建一系列相關(guān)或互相依賴對象的接口,而無需指定它們具體的類。
抽象工廠通常用工廠方法實現(xiàn),即抽象工廠是工廠方法的集合,每個工廠方法生產(chǎn)一個產(chǎn)品對象。
客戶只與抽象工廠和抽象產(chǎn)品進行交互。
抽象工廠難以支持新產(chǎn)品的加入,這涉及到抽象工廠及其子類的改變。
可以通過傳遞一個參數(shù)給工廠方法,該方法標(biāo)識產(chǎn)品的種類,由其子類解析,以支持新產(chǎn)品的加入。
但這要求不同種類的產(chǎn)品都有一個共同的接口。
2,生成器
將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。計模式/321.png)
計模式/322.png)
3,工廠方法
定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。
由一個可以被子類重寫的方法創(chuàng)建產(chǎn)品類。選擇哪個具體工廠的邏輯判斷交由客戶端進行。
在不創(chuàng)建工廠子類的情況下,工廠方法可以使用泛型實現(xiàn)。
與簡單工廠相比,最大的區(qū)別在于創(chuàng)建特定產(chǎn)品的邏輯判斷從工廠類內(nèi)部轉(zhuǎn)移到客戶端。
計模式/33.png)
4,原型
用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象。
關(guān)鍵字Clone,注意淺拷貝和深拷貝。
沒什么感覺啊!
計模式/34.png)
5,單件
目的是提供一個全局訪問點。
在Instance靜態(tài)方法里面可以進行子類實例切換。
計模式/35.png)
6,簡單工廠
簡單工廠模式也叫靜態(tài)工廠方法(Static Factory Method),由一個工廠對象決定創(chuàng)建出哪一種產(chǎn)品類的實例。
需要增加產(chǎn)品會違反開放封閉原則,因為判斷邏輯寫在方法內(nèi)。
計模式/36.png)