回顧工廠方法設計模式的不足:具體產品增加時,系統中類的個數將成對增加,在一定程度上增加了系統的複雜度 模式動機 產品等級結構:產品等級結構即產品的繼承結構,即抽象產品與具體產品 產品族:在抽象工廠模式中,產品族是指由同一個工廠生產的,位於不同產品等級結構中的一組產品 模式定義 提供一個創建一系列相關 ...
回顧工廠方法設計模式的不足:具體產品增加時,系統中類的個數將成對增加,在一定程度上增加了系統的複雜度
模式動機
- 產品等級結構:產品等級結構即產品的繼承結構,即抽象產品與具體產品
- 產品族:在抽象工廠模式中,產品族是指由同一個工廠生產的,位於不同產品等級結構中的一組產品
模式定義
提供一個創建一系列相關或相互依賴對象的介面,而無須指定它們具體的類。抽象工廠模式又稱為Kit模式,屬於對象創建型模式。
模式結構
模式優點
- 隔離了具體類的生成,使得客戶端並不需要知道什麼被創建
- 當一個產品族中的多個對象被設計成一起工作時,它能夠保證客戶端始終只使用同一個產品族中的對象
- 增加新的產品族很方便,無須修改已有系統,符合開閉原則
模式缺點
- 增加新的產品等級結構麻煩,需要對原有系統進行較大的修改,甚至需要修改抽象層代碼,這顯然會帶來較大的不便,違背了開閉原則
模式應用情形
- 一個系統不應當依賴於產品類實例如何被創建、組合和表達的細節
- 系統中有多於一個的產品族,但每次只使用其中某一產品族
- 屬於同一個產品族的產品將在一起使用,這一約束必須在系統的設計中體現出來
- 產品等級結構穩定,在設計完成之後不會向系統中增加新的產品等級結構或者刪除已有的產品等級結構
本文來自博客園,作者:街酒,轉載請註明原文鏈接:https://www.cnblogs.com/sorrymine/p/17371814.html