目錄總結
當系統所提供的工廠所需生產的具體產品並不是乙個簡單的物件,而是多個位於不同產品等級結構中屬於不同型別的具體產品時需要使用抽象工廠模式。
抽象工廠模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態。
抽象工廠模式與工廠方法模式最大的區別在於,工廠方法模式針對的是乙個產品等級結構,而抽象工廠模式則需要面對多個產品等級結構,乙個工廠等級結構可以負責多個不同產品等級結構中的產品物件的建立 。當乙個工廠等級結構可以建立出分屬於不同產品等級結構的乙個產品族中的所有物件時,抽象工廠模式比工廠方法模式更為簡單、有效率。
抽象工廠模式包含如下角色:
// created on: 02-十月-2014 15:04:17
// original author: colin
///#include "producta1.h"
#include using namespace std;
void producta1::use()
執行結果:
在以下情況下可以使用抽象工廠模式:
在很多軟體系統中需要更換介面主題,要求介面中的按鈕、文字框、背景色等一起發生改變時,可以使用抽象工廠模式進行設計。
建立型模式 工廠模式and抽象工廠模式
意圖 定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。主要解決 主要解決介面選擇的問題。何時使用 我們明確地計畫不同條件下建立不同例項時。如何解決 讓其子類實現工廠介面,返回的也是乙個抽象的產品。關鍵 建立過程在其子類執行。步驟 建立乙個介面 形狀sh...
建立型模式 抽象工廠模式
抽象工廠 abstractfactory 模式的定義 是一種為訪問類提供乙個建立一組相關或相互依賴物件的介面,且訪問類無須指定所要產品的具體類就能得到同族的不同等級的產品的模式結構。抽象工廠模式是工廠方法模式的公升級版本,工廠方法模式只生產乙個等級的產品,而抽象工廠模式可生產多個等級的產品。產品族 ...
抽象工廠模式 建立型模式
1 描述 抽象工廠模式是一種建立型設計模式,它能建立一系列相關的物件,而無需指定其具體類。什麼是 系列物件 例如有這樣一組的物件 運輸工具 引擎 控制器。它可能會有幾個變體 汽車 內燃機 方向盤飛機 噴氣式發動機 操縱桿 如果你的程式中並不涉及產品系列的話,那就不需要抽象工廠。優點 封裝性,每個產品...