(複習用,不適合初學。複習用,不適合初學。複習用,不適合初學。)
定義(factory method pattern):工廠父類負責定義建立產品物件的公共介面,而工廠子類則負責生成具體的產品物件,這樣做的目的是將產品類的例項化操作延遲到工廠子類中完成。(define an inte***ce for creating an object, but let subclasses decide which class to instantiate. factory method lets a class defer instantiation to subclasses.)
角色:
①product(抽象產品)
②concreteproduct(具體產品)
③factory(抽象工廠)
④concretefactory(具體工廠)
解決方案(類圖)
優缺點
①優點:
(1)使用者只需要關心所需產品對應的工廠,無需關心建立細節,甚至無需知道具體產品類的類名。
(2)能夠使工廠可以自主確定建立何種產品物件,而如果建立這個物件的細節則完全封裝在具體工廠內部。
(3)在系統中加入新產品時,無需修改抽象工廠和抽象產品提供的介面,無需修改客戶端,也無需修改其他的具體工廠和具體產品,而只要新增乙個具體工廠和具體產品就可以了。完全符合「開閉原則」。
②缺點:
(1)系統中類的個數將成對增加,在一定程度上增加了系統的複雜度。
(2)需要引入抽象層,增加了系統的抽象性和理解難度,實現時可能需要用到dom、反射等技術,增加了系統的實現難度。
適用環境
①乙個類不知道它所需要的物件的類。
②乙個類通過其子類來指定建立哪個物件。
③客戶端在使用時可以無須關心是哪乙個工廠子類建立產品子類,需要時再動態指定,可將具體工廠類的類名儲存在配置檔案或資料庫中。
建立型模式之工廠方法模式
工廠方法模式引入了抽象的工廠類,而將具體產品的建立過程封裝在抽象工廠類的子類,也就是具體工廠類中。客戶端 針對抽象層進行程式設計,增加新的具體產品類時只需要增加乙個相應的具體工廠類即可,使得系統具有更好的靈活性和可擴充套件性。實現 1 抽象產品類 public inte ce tv 2 具體產品類 ...
建立型模式 工廠方法模式
目錄 1.工廠方法模式概述 1.1 工廠方法模式概念 1.2 工廠方法模式類圖 2.工廠方法模式實現原理 3.工廠方法模式優缺點 3.1 優點 3.2 缺點 又稱為虛擬構造器 virtual constructor 模式或多型模式,屬於建立型模式。在工廠方法模式中,父類負責定義建立物件的公共介面,而...
建立型模式 工廠方法模式
定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。factorymethod使乙個類的例項化延遲到其子類。1.當乙個類不知道它所必須建立的物件的類的時候。2.當乙個類希望由它的子類來指定它所建立的物件的時候。3.當類將建立物件的職責委託給多個幫助子類中的某乙個,並且你希望將哪乙個幫助子類是 者這...