不再只由乙個工廠類決定哪乙個產品類應當被例項化,這個決定權被交給該工廠的子類來實現。當有新的產品產生時,只需要按照抽象產品角色,抽象工廠角色提供的方法生成即可。
既可以不再破壞工廠的封裝性
在簡單工廠方式(見上篇)的基礎上再將工廠也純虛函式化,由車間子類來繼承工廠類,呼叫工廠的介面可以使用不同的造車車間
工廠方法模式就是使用兩個純虛函式來將介面實現多型化並且保證工廠的封裝性,在新增或刪除車間時不改變工廠函式
#includeusing namespace std;
class carcar
;class baoma:public carcar
可以新增乙個新的buycar函式簡化主函式命令
#includeusing namespace std;
//工廠方法模式
//基類指標可以指向子類
/*class carcar
;//車
class benzcar:public carcar
int main()
設計模式 工廠方法模式
一 工廠方法 factory method 模式 工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到工廠子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角...
設計模式 工廠方法模式
1 factorymethod.h ifndef factorymethod h define factorymethod h include include using namespace std class osproduct 產品,product,產品的抽象類 class windowspro...
設計模式 工廠方法模式
框架的基礎知識 對框架的理解 框架和設計模式的關係 工廠方法模式 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,factory method使乙個類的例項化延遲到其子類。結構 產品 public inte ce product 具體產品 public class productimpl...