工廠模式 工廠方法與抽象工廠的戰爭

2021-08-29 09:35:24 字數 2011 閱讀 3599

什麼是工廠方法?什麼是抽象工廠?

工廠方法是指工廠生產產品,而抽象工廠是生產產品系列。例如,工廠方法是只生產運輸工具比如馬車、公共汽車、自行車,而抽象工廠生產輪胎、螺絲釘交通工具零件。

工廠方法模式定義了乙個建立物件的介面,但由子類決定例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。

抽象工廠模式提供乙個介面,用於建立相關或依賴物件的家族,而不需要明確指定具體類。

}產品類

public inte***ce vehicle 

public class bicycle implements vehicle

}public class bus implements vehicle

}public class carriage implements vehicle

}

客戶端

}騎的交通工具

public inte***ce vehicle 

class bus implements vehicle

}public class carriage implements vehicle

}

拿的**

public inte***ce weapon 

class ak47 implements weapon

}class stick implements weapon

}

吃的糧食

public inte***ce food 

@override

public void eat()

}class steamedbun implements food

}

客戶端

public class client 

}

工廠方法與抽象工廠各有什麼優缺點?

工廠方法一直都是圍繞著產品這乙個緯度,著重考慮怎麼應對產品的變化。例如,新增一種型別的交通工具,並不要修改原始碼就能拓展成功,缺點就是工廠氾濫。

抽象工廠就是針對產品系列可拓展,例如新增某一種系列,人開著飛機去戰鬥,那麼可以交通工具汽車,可以吃榴蓮,手持飛彈,可以輕鬆拓展進去。但是,弊端就是,系列工廠最開始要考慮周全,如果中途新增人還要有特定的服裝,那就會非常麻煩。對於產品拓展不足。

抽象工廠與工廠方法模式

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

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

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

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

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