主要是滿足當我們的工廠內,需要生產新的型別的產品時的問題,解決辦法是引進新的生成線。將n個簡單工廠,都通過為乙個factory producer的類來建立。**如下:
**說明:實現乙個遊戲抽象工廠,具有生產英雄,和生成物品的兩個簡單工廠。這樣我們就可以生產英雄和物品,這兩種型別不同的產品了。
step1 定義生成兩種產品型別的抽象工廠
public
inte***ce gamefactory
step2 定義hero英雄和good物品這兩種產品,每個產品又有具體的實現規格,如英雄-(pcnj,timo),物品(shoes,sword)
public
abstract
class hero ;
public
class
pcnj
extends
hero
}
public
class
timo
extends
hero
}
public
abstract
class goods
public
class
shoes
extends
goods
}
public
class
sword
extends
goods
}
step3 分別實現物品工廠和英雄工廠
public
class
goodsfactory
implements
gamefactory
return ret;
}@override
public hero gethero(string heroname)
}
public
class
herofactory
implements
gamefactory
public hero gethero(string heroname)
return ret;
}}
step4 實現工廠的建造類
public
class facotryproducer
return ret;
}
step5 客戶端使用
public static void test()
攻速鞋-需花費1550金
大劍-需花費1550金
皮城女警正在用狙擊槍進行攻擊
皮城女警正在用狙擊槍進行攻擊
process finished with
exit code 0
抽象工廠適用於需要生產多種不同型別產品的場景。其是在簡單工廠的基礎上,對其進行了封裝,實質上可以稱為工廠的工廠。 java設計模式 抽象工廠模式
1.概念 設計模式 一書中對於抽象工廠模式是這樣定義的 提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。產品 plant介面 public inte ce plant 標誌介面 具體產品planta,plantb public class planta implements pl...
JAVA設計模式 抽象工廠模式
目錄 一 什麼是抽象工廠模式 二 模式中包含的角色及其職責 三 抽象工廠模式的優缺點 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的。抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品的具體型別的情況下,能夠建立多個產品族的產品物件。抽象工廠 factory 角色 抽象工廠模式...
Java設計模式 抽象工廠模式
抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品具體型別的情況下,建立多個產品族中的產品物件。這就是抽象工廠模式的用意。每個模式都是針對一定問題的解決方案。抽象工廠模式面對的問題是多產品等級結構的系統設計。在學習抽象工廠具體例項之前,應該明白兩個重要的概念 產品族和產品等級。產品族 是...