抽象工廠模式與工廠方法模式的區別

2021-06-17 16:22:50 字數 617 閱讀 9133

在進行重新學習設計模式的時候,感覺兩種設計模式有很多地方很相似,但一時也不好區別。很頭疼。通過以前的學習,對兩個模式的區別進行了彙總,保證是最全的區別:

1 定義:

工廠方法模式:定義使用者建立物件的介面,讓子類決定例項化那乙個類。

2 職能分析:

工廠方法模式:核心工廠類不負責所有產品的建立,而是將具體建立工作交給子類去做。這個核心類僅僅負責給出具體工廠必須實現的介面,而不參與例項化細節。

工廠方法模式可以在不修改工廠角色的情況下引進新產品,該模式中,工廠類與產品類是一一對應,並且是平行等級的結構。

抽象工廠模式:1. 用抽象工廠生產抽象產品

2.用實體工廠生產實體產品

3 .用抽象產品提供實體產品訪問介面

4.用實體產品實現自己的功能

3結構模型圖

4 總結一下:

工廠設計模式: 1.乙個抽象產品類,可以派生出多個具體產品類

2.乙個抽象工廠類,可以派生出多個具體工廠類

3.每個具體工廠類,只能建立乙個具體產品的例項

抽象設計模式:1.多個抽象產品類,可以派生出多個具體產品類

2.乙個抽象工廠類,可以派生出多個具體工廠類

3.每個具體工廠類,可以建立多個具體類的例項

工廠方法模式與抽象工廠模式

工廠方法 public inte ce product public inte ce creator public class concreteproduct1 implements product public class concreteproduct2 implements product p...

工廠方法模式與抽象工廠模式

這篇部落格主要記錄一下工廠方法模式和抽象工廠模式。工廠方法模式比較常見,且相對比較容易理解,因此直接介紹一下它的定義及設計結構。工廠方法模式定義了乙個建立物件的介面,但由子類決定例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。如圖所示,抽象的creator提供了乙個建立物件的介面factorym...

抽象工廠與工廠方法模式

1.如果乙個後花園只種蔬菜類,那麼就用簡單工廠就可以了.2.如果後花園蔬菜品種繁多.得用工廠方法才可以,把共有的東西抽象出來.3.如果要擴大後花園的規模,比如乙個在北方,乙個在南方,這樣工廠方法就無法實現了,就應當用抽象工廠,把各種各樣的植物,又組成乙個後花園.簡單工廠是乙個工廠只生產一類的產品,面...