工廠方法模式 與 抽象工廠模式的區別
前言:很多程式設計師分不清楚幾個工廠模式(簡單工廠模式、工廠方法模式、抽象工廠模式)。在前面的博文(工廠方法模式)中,我已經簡單說明了簡單工廠模式與工廠方法模式的區別,這裡我簡單歸納說明一下工廠方法模式與抽象工廠模式的區別。這是我理解玩抽象工廠模式後的筆記。
一、 工廠方法部分
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.如果要擴大後花園的規模,比如乙個在北方,乙個在南方,這樣工廠方法就無法實現了,就應當用抽象工廠,把各種各樣的植物,又組成乙個後花園.簡單工廠是乙個工廠只生產一類的產品,面...