工廠方法模式

2021-08-19 14:13:43 字數 985 閱讀 4865

工廠方法模式

(1)關係圖

(2)優點

1.更符合開

-閉原則:新增一種產品時,只需要增加相應的具體產品類和相應的工廠子類即可

2.符合單一職責原則:每個具體工廠類只負責建立對應的產品

3. 不使用靜態工廠方法,可以形成基於繼承的等級結構。

4. 工廠模式可以說是簡單工廠模式的進一步抽象和拓展,在保留了簡單工廠的封裝優點的同時,讓擴充套件變得簡單,讓繼承變得可行,增加了多型性的體現。(3

)缺點1.

新增新產品時,除了增加新產品類外,還要提供與之對應的具體工廠類,系統類的個數將成對增加,在一定程度上增加了系統的複雜度;同時,有更多的類需要編譯和執行,會給系統帶來一些額外的開銷

2.由於考慮到系統的可擴充套件性,需要引入抽象層,在客戶端**中均使用抽象層進行定義,增加了系統的抽象性和理解難度,且在實現時可能需要用到

dom、反射等技術,增加了系統的實現難度。

(4)**

abstract class absractfactory
public class factory1 extends  absractfactory

}

public class factory2 extends  absractfactory

}

abstract class product

public class product1 extends  product

}

public class product2 extends  product

}

工廠方法模式 工廠方法模式

工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...

工廠方法模式 工廠方法模式 二

工廠方法模式是對簡單工廠的進一步抽象和封裝,需要新的類物件時不需要對既有工廠類進行修改,而是增加新的工廠類。工程類可以使用模版進一步封裝,由編譯器來生成 從而減少 編寫工作量。工廠方法的 c 實現01part產品抽象基類class animal virtual void show 0 02part產...

工廠方法模式(一) 簡單工廠方法模式

ps 第二篇學習部落格,堅持就是勝利。繼續設計模式的學習,記錄工廠模式,加深自己的理解。基本結構 abstractproduct 用來定義基本的商品的抽象 public abstract class abstractphoneproduct 用來實現抽象商品,生成各種商品 public class ...