之間介紹的工廠都是單產品系的,抽象工廠是對應了多產品系,但是產品種類數量相對固定的。
舉個例子來說,每個工廠不僅賣麵條,還提供飲料,麵條和飲料可能不斷出新樣品,但是還是只賣這兩種。
先抽象乙個產品類,飲料:
public abstract class idrinks
然後實現兩個產品類
可樂
public class coladrinks extends idrinks
}
礦泉水:
public class waterdrinks extends idrinks
}
組成了乙個抽象飯店(抽象工廠類):
public abstract class abstractfoodfactory
蘭州大酒店(具體工廠類):
public class lzlmfoodfactory extends abstractfoodfactory
@override
public idrinks createdrinks()
}
kfc(具體工廠類):
public class kfcfoodfactory extends abstractfoodfactory
@override
public idrinks createdrinks()
}
使用方法
abstractfoodfactory abstractfoodfactory1 = new kfcfoodfactory();
abstractfoodfactory1.createdrinks().prices();
abstractfoodfactory1.createnoodles().desc();
abstractfoodfactory1= new lzlmfoodfactory();
abstractfoodfactory1.createdrinks().prices();
abstractfoodfactory1.createnoodles().desc();
以上就是抽象工廠模式。
分析:明顯,抽象工廠是針對多個產品族,而工廠方法模式是針對乙個產品等級結構
抽象工廠是通過組合屬性物件發來構建產品,通過派生不同的工廠類去實現不同的產品組合,而工廠方法則是把屬性規定好的
JAVA設計模式之二抽象工廠
首先還是搭建工廠介面 public inte ce factoryinter接著是兩個實現 public class bmwproduce implements factoryinter public class audiproduce implements factoryinter 然後提供乙個新...
設計模式系列(建立型模式)之二 抽象工廠模式
抽象工廠模式 abstract factory pattern 是一種為訪問類提供乙個建立一組相關或相互依賴物件的介面,且訪問類無須指定所要產品的具體類就能得到同族的不同等級的產品的模式結構。抽象工廠模式是工廠方法模式的公升級版本,工廠方法模式只生產乙個等級的產品,而抽象工廠模式可生產多個等級的產品...
設計模式(二)抽象工廠模式
以下所有資料位偽造 o o哈哈 業務邏輯 以同一系統適應美國 中國的工資計算方式,計算公式是 到手的工資 基本工資 獎金 稅收 如中國的工資計算是 到手的工資 基本工資 獎金 稅收 稅收 基本工資 5 獎金 企業自己的計算方式 美國的工作計算是 稅收 基本工資 10 獎金 25 獎金 美國企業自己的...