抽象模式是圍繞乙個超級工廠建立許多繼承他的小工廠來建立物件。屬於建立型模式。
在介紹模式之前先將兩個概念:產品結構和產品族
什麼是產品結構呢?比如有乙個類代表電視機,而電視機又有很多品牌(海爾、tcl、小公尺等),而這些電視品牌就是產品結構。
那什麼是產品族呢?你家裡的電器不可能只有電視吧,咋地也得有個冰箱空調啥的吧。海爾他不光產電視,也有冰箱空調,而海爾品牌的電視、冰箱、空調就是產品族。族就是家族嘛,乙個家族要姓氏一樣的。
而族就是相當於乙個個創造實體類的工廠,乙個工廠裡有多個相同型別的物件。
優點: 當乙個產品族中多個物件被設計成一起工作時,他能保證客戶端只使用同乙個產品族中的物件。
當你有多個物件之間需要相互作用,相互通訊時,只需要明顯地使用同乙個型別的工廠建立即可。
缺點:產品族擴充套件非常困難,要增加乙個系列的某一產品,既要在抽象的 creator 裡加**,又要在具體的裡面加**。
注意事項:
產品族難擴充套件,產品等級易擴充套件。
實現:
java設計模式 抽象工廠模式
1.概念 設計模式 一書中對於抽象工廠模式是這樣定義的 提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。產品 plant介面 public inte ce plant 標誌介面 具體產品planta,plantb public class planta implements pl...
JAVA設計模式 抽象工廠模式
目錄 一 什麼是抽象工廠模式 二 模式中包含的角色及其職責 三 抽象工廠模式的優缺點 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的。抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品的具體型別的情況下,能夠建立多個產品族的產品物件。抽象工廠 factory 角色 抽象工廠模式...
Java設計模式 抽象工廠模式
抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品具體型別的情況下,建立多個產品族中的產品物件。這就是抽象工廠模式的用意。每個模式都是針對一定問題的解決方案。抽象工廠模式面對的問題是多產品等級結構的系統設計。在學習抽象工廠具體例項之前,應該明白兩個重要的概念 產品族和產品等級。產品族 是...