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

2021-06-20 05:18:20 字數 1158 閱讀 6467

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

前言:很多程式設計師分不清楚幾個工廠模式(簡單工廠模式、工廠方法模式、抽象工廠模式)。在前面的博文(工廠方法模式)中,我已經簡單說明了簡單工廠模式與工廠方法模式的區別,這裡我簡單歸納說明一下工廠方法模式與抽象工廠模式的區別。這是我理解玩抽象工廠模式後的筆記。

一、  工廠方法部分

1、   工廠方法使用的是類。

2、   用的方法是繼承。

3、   利用工廠方法建立物件,需要擴充套件乙個類,並覆蓋他的工廠方法。

4、   工廠方法用來建立物件。其實整個工廠方法模式只不過就是通過子類來建立物件。換句話說,工廠方法模式只負責將客戶從具體型別彙總解耦。

5、   建立乙個產品。

6、   工廠方法模式可以把你的客戶**從需要例項化的具體類中解耦。或者如果你目前還不知道將來需要例項化哪些具體類時,也可以用工廠方法模式。工廠方法模式的使用很簡單,只要吧工廠方法繼承成子類,並實現工廠方法的工廠就可以了。

二、  抽象工廠模式

1、   抽象工廠模式使用的是物件。

2、   用的方法是物件的組合。

3、   抽象工廠提供乙個用來建立產品家族的抽象型別,這兒型別的子類定義了產品被產生的方法。要想使用這個工廠,必須先例項化它,然後將它傳入一些針對抽象型別所寫的**中。所以,和工廠方法一樣,抽象工廠可以把客戶從所使用的實際具體產品中解耦。

4、   建立整個產品家族的模式。

5、   當你需要建立產品家族和想讓製造的相關產品集合起來時,你可以使用抽象工廠。

三、  工廠方法模式和抽象工廠模式,這兩種模式都是將物件建立的過程封裝起來,以便將**從具體類解耦。

附:當然,這裡僅僅是我自己現階段對兩種工廠方法的理解,可能有一些沒有說明白或者錯誤,請斟酌。

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

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

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

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

抽象工廠與工廠方法模式

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