抽象工廠模式 不同的模式,建立不同強度的英雄

2021-09-24 02:21:53 字數 1931 閱讀 8244

abstract factory :抽象工廠,定義建立一系列產品物件的操作介面。

concrete factory :具體的工廠,實現抽象工廠定義的方法,具體實現一系列產品物件的建立。

abstract product :定義一類產品物件的介面。

concrete product :具體的產品實現物件,通常在具體工廠裡面,會選擇具體的產品實現物件,來建立符合抽象工廠定義的方法返回的產品型別的物件。

client :客戶端,主要使用抽象工廠來獲取一系列所需要的產品物件,然後面向這些產品物件的介面程式設計,以實現需要的功能。

具體需求:在人機對戰中有兩種模式:簡單、中級;每種模式都會建立乙個法師英雄、乙個射手英雄,要求設計乙個可擴充套件的程式,實現切換模式,產生不同級別的英雄。

建立抽象的產品:法師、射手

public

inte***ce

mage

public

inte***ce

shooter

建立產品的實現(簡單法師、射手;中級法師、射手)

/**

* 簡單模式下的法師

* * @author: jsk

* @date: 2019/6/1 18:29

*/public

class

smallmage

implements

mage

}/**

* 中級模式下的法師

* * @author: jsk

* @date: 2019/6/1 18:30

*/public

class

bigmage

implements

mage

}/**

* 簡單模式下的射手

* * @author: jsk

* @date: 2019/6/1 18:31

*/public

class

smallshooter

implements

shooter

}/**

* 中級模式下的射手

* * @author: jsk

* @date: 2019/6/1 18:30

*/public

class

bigshooter

implements

shooter

}

建立遊戲模式(抽象工廠)

public

inte***ce

gamefactory

遊戲模式的實現(簡單模式、中級模式)

public

class

******gamefactory

implements

gamefactory

@override

public shooter getshooter()

}public

class

middlegamefactory

implements

gamefactory

@override

public shooter getshooter()

}

客戶端呼叫

public

static

void

main

(string[

] args)

public

static

void

start

(gamefactory gamefactory)

執行結果

建立型模式 工廠模式and抽象工廠模式

意圖 定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。主要解決 主要解決介面選擇的問題。何時使用 我們明確地計畫不同條件下建立不同例項時。如何解決 讓其子類實現工廠介面,返回的也是乙個抽象的產品。關鍵 建立過程在其子類執行。步驟 建立乙個介面 形狀sh...

建立模式 抽象工廠模式

一 抽象工廠模式說明 抽象工廠模式更符合我們的日常生活和一般規律,所以,應用更加廣泛。下圖舉例說明了抽象工廠模式 抽象工廠模式設計 根據上圖的描述,抽象工廠模式可以設計如下 packagecom.solid.abstractfactory 抽象工廠模式 產品介面一 author solid publ...

建立型模式(抽象工廠模式)

目錄總結 當系統所提供的工廠所需生產的具體產品並不是乙個簡單的物件,而是多個位於不同產品等級結構中屬於不同型別的具體產品時需要使用抽象工廠模式。抽象工廠模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態。抽象工廠模式與工廠方法模式最大的區別在於,工廠方法模式針對的是乙個產品等級結構,而抽象工廠...