23種設計模式C 例項之工廠方法模式

2021-07-08 19:40:48 字數 898 閱讀 6460

工廠模式有三種:簡單工廠模式,工廠方法模式,抽象工廠模式,其中簡單工廠模式不屬於23種設計模式,例項如下:

#include using namespace std;

/* * 不符合開閉原則,不是23種標準的設計模式

* */

class fruit

virtual void sayname() = 0;

};class banana: public fruit

}; public:

virtual void sayname()

};class factory else

}};int main()

工廠方法模式如下:

#include /*

* 符合開閉原則,新增新的產品不需要修改原有的**,只需要新增新的**

* 新增一種新的水果只需要新增乙個水果類,然後新增一種新的工廠即可

* */

using namespace std;

class fruit

virtual void sayname() = 0;

};class banana: public fruit

}; public:

virtual void sayname()

};class factory

virtual fruit* create() = 0;

};class bananafactory: public factory

}; public:

fruit* create()

};int main()

設計原則

建立模式(5種)

結構模式(7種)

行為模式(11種)

23種設計模式之工廠方法模式

定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類。型別 建立類模式 類圖 inte ce iproduct class product implements iproduct inte ce ifactory class factory impleme...

23種設計模式之工廠方法模式

定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類.工廠方法使乙個類的例項化延遲到其子類 工廠方法模式的通用類圖 其中 product 負責產品的共性,實現對事物最抽象的定義 creator 為抽象建立類,也就是抽象工廠,具體如何建立產品類是由具體的實現工廠 concretecreator ...

23種設計模式之工廠方法模式

工廠方法 factorymethod 模式定義 定義乙個建立產品物件的工廠介面,將產品物件的實際建立工作推遲到具體子工廠類當中,滿足建立型模式中所要求的 建立與使用相分離 的特點。如果建立的產品 物件 不多,只有乙個工廠類就可以的話,這種模式稱為 簡單工廠模式 但它不屬於23中設計模式,因為增加產品...