建立型模式之簡單工廠模式

2021-08-14 20:03:39 字數 848 閱讀 4666

寫在前面

閱讀本文之前你需要知道

1. 連線基本的uml類圖結構

2. 類關係

簡單工廠模式並不屬於gof的23個經典模式,但通常把它作為學習其他工廠模式的基礎,它的設計思想比較簡單:

首先將需要建立的各種不同物件的相關**封裝到不同的類中,這些類稱為具體產品類,而將它們公共的**進行抽象和提取後封裝到乙個抽象產品類中,每乙個產品類都是抽象產品類的子類,然後提供乙個工廠類用於建立各種產品,在工廠類中提供乙個建立產品的工廠方法(靜態方法),該方法可以根據所傳入的引數不同建立不同的具體產品物件;客戶端只需要呼叫工廠類的工廠方法並傳入相應的引數即可得到乙個產品物件。

類結構

基於上述uml類圖實現的**框架

abstract class product 

public

abstract

void

methoddiff();

}class concreteproduct()

} class factory else

if(arg == "b")

return product;

}}; //在客戶端**中

class client

}

簡單工廠模式小結

建立型模式之簡單工廠模式

複習用,不適合初學。複習用,不適合初學。複習用,不適合初學。1.定義 factory pattern 簡單工廠模式又稱為靜態 static 工廠模式。在簡單工廠模式中,可以根據引數的不同返回不同類的例項。簡單工廠模式專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。2.角色 f...

建立型模式 簡單工廠模式

在物件導向程式設計中,一般方法是用乙個new操作符產生乙個物件的例項。但是在一些情況下,用new操作符直接生成物件會帶來一些問題。首先,要使用new運算子建立乙個物件必須清楚所要建立的物件的類資訊,包括類名 建構函式等,而有時並不現實。其次許多態別的物件建立需要一系列的步驟,可能需要計算或取得物件的...

簡單工廠模式 建立型模式

1 描述 簡單工廠模式描述了乙個類,它擁有乙個包含大量條件語句的構建方法,可根據方法的引數來選擇對何種產品進行初始化並將其返回。簡單工廠通常沒有子類,但當從乙個簡單工廠中抽取出子類後,它看上去更像經典的工廠方法模式了。2 結構圖 3 c 實現 include include 產品介面中將宣告所有具體...