程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 設計模式的C++實現 2.工廠模式

設計模式的C++實現 2.工廠模式

編輯:C++入門知識

設計模式的C++實現 2.工廠模式


工廠模式,實例化對象,用工廠方法代替new操作。

工廠模式基本與簡單工廠模式差不多,簡單工廠中每次添加一個子類必須在工廠類中添加一個判斷分支,這違背了開閉原則。而工廠模式的解決方法是將簡單工廠中的每個判斷都生成一個工廠子類,工廠子類位於工廠類抽象和產品類實現之間,實際依然屬於實現。工廠類中的為抽象的接口,開閉原則要不修改接口,只修改實現,則這裡工廠子類是實現,添加工廠子類及其代碼沒有修改抽象的接口,即達到了開閉原則。

缺點是產品多了之後,要維護的量就增加了,會出現許多工廠子類,雖然工廠子類只進行創建產品的工作。沒增加一個產品就要增加一個工廠子類,增加工作量。

工廠模式只是簡單工廠的一點優化,使其遵循了開閉原則。應用場景也與簡單工廠一樣,在子類數量不多的情況下。

工廠模式的簡單實現:

class bass{
public:
	virtual void fun() = 0;
	bass(){}
	virtual ~bass(){}

};
class A : public bass{
public:
	virtual void fun(){cout<< "A"<


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved