定義:乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。
良好的封裝性,**結構清晰。物件的建立有條件約束,呼叫者只需要知道類名即可,不需要了解建立過程。
擴充套件性優秀。如果工廠類的返回型別是泛型或者介面時,那麼返回乙個新產生的物件時,工廠類不需要修改。也意味著工廠類遮蔽了返回物件的差異。比如:jdbc遮蔽了不同資料庫產品的差異,對不同的資料庫只呼叫不同的驅動。
縮小為簡單工廠模式:最基礎的工廠模式,工廠類中用乙個靜態方法來產生產品類。這種工廠類不再需要具體工廠類來繼承,變得更加簡單了,所以稱為簡單工廠模式或靜態工廠模式。
公升級為多個工廠類:每個產品對應乙個具體的工廠類。結構清晰,職責明確,但增加乙個產品就要增加乙個工廠,**量增加。
替代單例模式:
延遲初始化
《設計模式之禪》
設計模式 工廠方法模式
一 工廠方法 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...