Java設計模式 抽象工廠模式

2021-09-19 14:43:08 字數 1525 閱讀 8414

抽象工廠模式(abstract factory)就是提供乙個介面,用於建立相關或者依賴物件的家族,而不需要明確指定具體類。他允許客戶端使用抽象的介面來建立一組相關的產品,而不需要關係實際產出的具體產品是什麼。這樣一來,客戶就可以從具體的產品中被解耦。它的優點是隔離了具體類的生成,使得客戶端不需要知道什麼被建立了,而缺點就在於新增新的行為會比較麻煩,因為當新增乙個新的產品物件時,需要更加需要更改介面及其下所有子類。

簡單的工廠相當於可以製造單一產品的工廠,抽象工廠把所有的簡單工廠,創造乙個可以創造所有工廠的大工廠。

建立兩個介面

public inte***ce shape 

public inte***ce color

分別建立兩個實現類

public class rectangle implements shape 

}public class square implements shape

}public class red implements color

}public class blue implements color

}

為 color 和 shape 物件建立抽象類來獲取工廠

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設計模式 抽象工廠模式

抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品具體型別的情況下,建立多個產品族中的產品物件。這就是抽象工廠模式的用意。每個模式都是針對一定問題的解決方案。抽象工廠模式面對的問題是多產品等級結構的系統設計。在學習抽象工廠具體例項之前,應該明白兩個重要的概念 產品族和產品等級。產品族 是...