什麼是工廠方法?什麼是抽象工廠?
工廠方法是指工廠生產產品,而抽象工廠是生產產品系列。例如,工廠方法是只生產運輸工具比如馬車、公共汽車、自行車,而抽象工廠生產輪胎、螺絲釘交通工具零件。
工廠方法模式定義了乙個建立物件的介面,但由子類決定例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。
抽象工廠模式提供乙個介面,用於建立相關或依賴物件的家族,而不需要明確指定具體類。
}產品類
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...