主要解決:主要解決介面選擇的問題。
何時使用:我們明確地計畫不同條件下建立不同例項時。
如何解決:讓其子類實現工廠介面,返回的也是乙個抽象的產品。
關鍵**:建立過程在其子類執行。
步驟:建立乙個介面(形狀shape);
建立實現介面的實現類(各種形狀)。
建立乙個工廠,生成基於給定資訊的實體類的物件。(用乙個方法來判斷使用哪乙個實現類)
使用該工廠,通過傳遞型別資訊來獲取實體類的物件(例項化步驟三的方法)。
在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指定它們的類。每個生成的工廠都能按照工廠模式提供物件。主要解決:主要解決介面選擇的問題。
何時使用:系統的產品有多於乙個的產品族,而系統只消費其中某一族的產品。
如何解決:在乙個產品族裡面,定義多個產品。
關鍵**:在乙個工廠裡聚合多個同類產品。
步驟:為形狀建立乙個介面(shape )。
建立(形狀)實現介面的實體類(rectangle 、square、circle)。
為顏色建立乙個介面(color )。
建立(顏色)實現介面的實體類(red 、green 、blue )。
為 color 和 shape 物件建立抽象類來獲取工廠。
建立擴充套件了 abstractfactory 的工廠類,基於給定的資訊生成實體類的物件(shapefactory 、colo***ctory )。
建立乙個工廠創造器/生成器類,通過傳遞形狀或顏色資訊來獲取工廠(factoryproducer )。
使用 factoryproducer 來獲取 abstractfactory,通過傳遞型別資訊來獲取實體類的物件(abstractfactorypatterndemo )。
建立型模式(抽象工廠模式)
目錄總結 當系統所提供的工廠所需生產的具體產品並不是乙個簡單的物件,而是多個位於不同產品等級結構中屬於不同型別的具體產品時需要使用抽象工廠模式。抽象工廠模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態。抽象工廠模式與工廠方法模式最大的區別在於,工廠方法模式針對的是乙個產品等級結構,而抽象工廠...
建立型模式 抽象工廠模式
抽象工廠 abstractfactory 模式的定義 是一種為訪問類提供乙個建立一組相關或相互依賴物件的介面,且訪問類無須指定所要產品的具體類就能得到同族的不同等級的產品的模式結構。抽象工廠模式是工廠方法模式的公升級版本,工廠方法模式只生產乙個等級的產品,而抽象工廠模式可生產多個等級的產品。產品族 ...
抽象工廠模式 建立型模式
1 描述 抽象工廠模式是一種建立型設計模式,它能建立一系列相關的物件,而無需指定其具體類。什麼是 系列物件 例如有這樣一組的物件 運輸工具 引擎 控制器。它可能會有幾個變體 汽車 內燃機 方向盤飛機 噴氣式發動機 操縱桿 如果你的程式中並不涉及產品系列的話,那就不需要抽象工廠。優點 封裝性,每個產品...