返回目錄
簡單工廠模式****** factory根據提供給它的資料,返回乙個類的例項。通常它返回的類都有乙個公共的父類(或者介面物件)。
簡單工廠的作用是例項化物件,而不需要客戶了解這個物件屬於哪個具體的子類。簡單工廠例項化的類具有相同的介面或者基類,在子模擬較固定並不需要擴充套件時,可以使用簡單工廠。如資料庫生產工廠就是簡單工廠的乙個應用。
採用簡單工廠的優點是可以使使用者根據引數獲得對應的類例項,避免了直接例項化類,降低了耦合性;缺點是可例項化的型別在編譯期間已經被確定,如果增加新類 型,則需要修改工廠,不符合ocp(開閉原則)的原則。簡單工廠需要知道所有要生成的型別,當子類過多或者子類層次過多時不適合使用。
下面是我例項中的類結構圖,它有乙個icreate的公共介面,有乙個方法叫create,返回值為void
其中公用的介面**如下:(最後工廠的返回值型別)
1///2
///簡單工廠介面,返回值型別
3///
4public
inte***ce
icreate
5
而下面,分別用people和animal兩個類去實現了icreate介面,並實現了它的create方法。
1///2
///人類實現工廠介面
3///
4public
class
people : icreate513
14#endregion15}
16///
17///
動物實現工廠介面
18///
19public
class
animal : icreate
2028
29#endregion
30 }
而對於外界來說,會有另乙個類去為外界提供服務,它們可以需要建立people或者animal型別的實現,**如下:
1public
class
createfactory
213 }
最後,在使用它時,直接使用createfactory.generatorcreate("型別條件名")即可生成你的類物件了。
返回目錄
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...
設計模式(簡單工廠模式 工廠模式 抽象工廠模式)
當邏輯較為簡單時,可以直接建立對應的類。如下 include using namespace std class class banana class pear intmain 通過此 可以發現,使用者直接與客戶接觸,違背了dip 依賴倒轉 原則,過於麻煩,所以引出簡單工廠模式。include us...
設計模式 簡單工廠設計模式
請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...