工廠方法模式屬於類建立型模式,工廠父類負責定義建立產品物件的公共介面,而子類工廠負責生成具體的產品物件,目的是將產品的例項化操作延遲到工廠子類中完成,通過工廠子類來確定究竟應該例項化哪乙個具體產品類
工廠方法模式包含如下角色:
1.product(抽象產品類):是定義產品的介面,是工廠方法模式所建立物件的超型別,即產品物件的共同父類或介面
2.concreteproduct(具體產品類):實現了抽象產品介面,某種型別的具體產品由專門的具體工廠構建,它們之間存在一一對應關係
3.factory(抽象工廠類):抽象工廠中宣告了工廠方法,用於返回乙個產品,他是工廠方法的核心,任何在模式中建立物件的工廠類都必須實現該介面
4.concretefactory(具體工廠類):是抽象工廠類的子類,實現了抽象工廠中定義的方法,可由客戶端呼叫返回乙個具體產品類的例項
工廠方法模式的優點
1.隱藏細節,關注工廠名
2.使工廠可以自主確定建立何種產品物件,如何建立的具體細節完全封裝在具體工廠內部
3.完全符合開閉原則
工廠方法模式的缺點
1.乙個產品對應乙個子工廠,加大了額外的開發量
2.增加了系統的實現難度
設計模式 工廠方法模式
一 工廠方法 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...