一家公司生產兩個系列的產品
a系列, 食品裡: milk,meat,noodle
b系列, 與a系列相對應的餐具,spoon,knife,chopsticks
產品有兩個系列,在a系列某個位置的產品,在b系列一定有乙個對應的產品, 牛奶--湯勺, 肉-刀, 麵條--筷子
抽象產品系列之一, 食品類介面與三個具體的食品類
[code]
package food;
public inte***ce food
public class meat implements food
}public class milk implements food
}public class noodle implements food
}[/code]
抽象產品系列之二, 餐具類介面與三個具體的餐具類
[code]
package tableware;
public inte***ce tableware
public class knife implements tableware
}public class spoon implements tableware
}public class chopsticks implements tableware
}[/code]
抽象工廠介面,它是抽象工廠模式的核心,與具體的產品邏輯無關
[code]
public inte***ce kitchenfactory
[/code]
具體工廠a,生產牛奶和它對應的湯勺
[code]
public class kitchenfactorya implements kitchenfactory
public tableware gettableware()
}[/code]
具體工廠b,生產肉和它對應的刀子
[code]
public class kitchenfactoryb implements kitchenfactory
public tableware gettableware()
}[/code]
具體工廠c,生產麵條和它對應的筷子
[code]
public class kitchenfactoryc implements kitchenfactory
public tableware gettableware()
}[/code]
在什麼情形下應當使用抽象工廠模式
在以下情況下,應當考慮使用抽象工廠模式。
首先,乙個系統應當不依賴於產品類例項被創立,組成,和表示的細節。這對於所有形態的工廠模式都是重要的。
其次,這個系統的產品有多於乙個的產品族。
第三,同屬於同乙個產品族的產品是設計成在一起使用的。這一約束必須得在系統的設計中體現出來。
最後,不同的產品以一系列的介面的面貌出現,從而使系統不依賴於介面實現的細節。
其中第二丶第三個條件是我們選用抽象工廠模式而非其它形態的工廠模式的關鍵性條件。
java抽象工廠模式
抽象工廠模式 英語 abstract factory pattern 是一種軟體開發 設計模式 抽象工廠模式提供了一種方式,可以將一組具有同一主題的單獨的 工廠封裝起來。在正常使用中,客戶端程式需要建立抽象工廠的具體實現,然後使用抽象工廠作為 介面來建立這一主題的具體物件。客戶端程式不需要知道 或關...
java 抽象工廠模式
依然是簡單工廠模式中的印表機案例,不過這裡把工廠設計成介面,讓不同的工廠生產不同的印表機,再抽象出乙個生產工廠的工廠 印表機介面 package com.meteor.design pattern.abstract factory created by meteor on 2016 3 27.pub...
Java 抽象工廠模式
約定不同實體類的行為介面 定義實現介面的實體類 定義抽象工廠類用於獲取具體工廠生產類 定義繼承自抽象工廠類的具體工廠類 定義乙個工廠創造器 生成器類用來獲取具體工廠 呼叫創造器 生成器類用於生產 約定介面 package abstractfactory public inte ce color pa...