設計模式 工廠方法模式

2021-08-18 08:36:44 字數 651 閱讀 3182

工廠方法模式(factory method pattern):工廠方法模式又簡稱為工廠模式,也叫虛擬構造器(virtual constructor)模式或者多型模式,屬於類的建立型模式。在工廠方法模式中,父類負責定義建立物件的公共介面,而子類則負責生成具體的物件,這樣做的目的是將類的例項化操作延遲到子類中完成,即由子類來決定究竟應該例項化(建立) 哪乙個類。

工廠方法模式的優點:使用工廠方法模式的另乙個優點是在系統中加入新產品時,無需修改抽象工廠和抽象產品提供的介面,無需修改客戶端,也無需修改其它的具體工廠和具體產品,而只要新增乙個新的具體工廠和具體產品即可。

工廠方法模式的缺點:在新增新產品時,需要編寫新的具體產品類,而且還要提供與之對應的具體工廠類,類成對增加,將導致系統設計較為龐大,且執行時系統會有額外的開銷。由於考慮到系統的可擴充套件性,需要引入抽象層,在客戶端**中均使用抽象層進行定義,增加了系統的抽象性和理解難度,且在實現的時候可能需要用到反射等技術,增加了系統的實現難度。

具體例項:

#includeusing namespace std;

class laptop

virtual void product(){}

};class dell : public laptop

void product()

設計模式 工廠方法模式

一 工廠方法 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...