抽象工廠模式(abstract factory)就是提供乙個介面,用於建立相關或者依賴物件的家族,而不需要明確指定具體類。他允許客戶端使用抽象的介面來建立一組相關的產品,而不需要關係實際產出的具體產品是什麼。這樣一來,客戶就可以從具體的產品中被解耦。它的優點是隔離了具體類的生成,使得客戶端不需要知道什麼被建立了,而缺點就在於新增新的行為會比較麻煩,因為當新增乙個新的產品物件時,需要更加需要更改介面及其下所有子類。
簡單的工廠相當於可以製造單一產品的工廠,抽象工廠把所有的簡單工廠,創造乙個可以創造所有工廠的大工廠。
建立兩個介面
分別建立兩個實現類public inte***ce shape
public inte***ce color
為 color 和 shape 物件建立抽象類來獲取工廠public class rectangle implements shape
}public class square implements shape
}public class red implements color
}public class blue implements color
}
public abstract class abstractfactory
建立擴充套件了 abstractfactory 的工廠類
建立乙個抽象工廠public class shapefactory extends abstractfactory
if(shapetype.equalsignorecase("rectangle")) else if(shapetype.equalsignorecase("square"))
return null;
}@override
public color getcolor(string color)
}public class colo***ctory extends abstractfactory
@override
public color getcolor(string color)
if(color.equalsignorecase("red")) else if(color.equalsignorecase("blue"))
return null;}}
測試類:public class factoryproducer else if(choice.equalsignorecase("color"))
return null;}}
public static void main(string args)
執行結果:
java設計模式 抽象工廠模式
1.概念 設計模式 一書中對於抽象工廠模式是這樣定義的 提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。產品 plant介面 public inte ce plant 標誌介面 具體產品planta,plantb public class planta implements pl...
JAVA設計模式 抽象工廠模式
目錄 一 什麼是抽象工廠模式 二 模式中包含的角色及其職責 三 抽象工廠模式的優缺點 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的。抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品的具體型別的情況下,能夠建立多個產品族的產品物件。抽象工廠 factory 角色 抽象工廠模式...
Java設計模式 抽象工廠模式
抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品具體型別的情況下,建立多個產品族中的產品物件。這就是抽象工廠模式的用意。每個模式都是針對一定問題的解決方案。抽象工廠模式面對的問題是多產品等級結構的系統設計。在學習抽象工廠具體例項之前,應該明白兩個重要的概念 產品族和產品等級。產品族 是...