JAVA設計模式示例 2 抽象工廠

2021-07-24 22:49:11 字數 1706 閱讀 3053

主要是滿足當我們的工廠內,需要生產新的型別的產品時的問題,解決辦法是引進新的生成線。將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設計模式 抽象工廠模式

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