工廠方法模式:又稱為工廠模式、多型工廠模式模式,通過定義工廠父類負責定義建立物件的公共介面,而子類則負責生成具體的物件。 每當有乙個新的產品類被加入到產品類的結構中時,在工廠方法類中就必須增加適當的條件語句,以便能夠在合適的條件下建立新增加的類的例項。
介紹: 首先需要乙個介面作為超類,名為creator,介面中有乙個方法,叫factory(); 然後可以用和產品類相同的結構產生建立者類結構,其中包括creatora 和 createb, 各自負責建立相應的producta 和 productb的物件。以下類圖展示:
(1): 建立好抽象工廠類,定義具體工廠的公共介面,
(2): 建立好抽身產品類,定義具體產品的公共介面,
(3): 建立具體產品類,定義生產的具體產品,
(4): 建立具體工廠類,定義建立對應具體產品例項的方法,
(5): 外部通過呼叫具體的工廠類方法,對應建立出不同的具體產品類的例項。
1. 工廠方法模式將建立物件的邏輯與任務交給了工廠類。
2. 工廠方法模式支援開閉原則。
3. 在系統中加入新產品時,無需修改抽象工廠和抽象產品提供的介面;無需修改客戶端,也無需修改其他的具體工廠和具體產品,只要新增乙個具體工廠和具體產品就可以了。
待續更新....
軟體設計模式 簡單工廠模式
軟體體系結構與設計模式相關相關知識 客戶端直接通過car類的子類實現相關功能 1 高度耦合 2 條件語句塊需要寫在客戶端內,特別難看 3 客戶程式需要知道服務類的全部的細節才能實現使用工廠模式,將選擇與初始化乙個合適的類,將功能封裝在這個類當中的專門的方法當中 強調 委託的思想,客戶不需要知道服務的...
建立型設計模式 工廠模式
1 簡單工廠 只有乙個工廠類,在工廠中根據產品的型別每次只能生產指定型別的產品 class factory 2 工廠方法 每類工廠只能生產其對應的一類產品 factorya producta factoryb productb 3 抽象工廠 每類工廠可以生產其對應的一族產品 e.g.factorya...
設計模式 建立型 工廠模式
今天開始工廠三兄弟的工廠模式,工廠模式與簡單工廠相似,區別就在於工廠類被進一步細化,簡單工廠的工廠類中由乙個方法根據具體需求建立具體的產品。而工廠模式中,每乙個產品對應乙個工廠。也就是乙個工廠不再像簡單工廠那樣,乙個工廠可以生產不同的商品。在工廠模式中,每乙個商品都對應乙個生產該商品的工廠。如下 食...