需要建立乙個複雜物件的時候,這個物件通過一定的步驟組合而成,並且步驟一步都不能少。
玩家(客戶)告訴拳頭(指揮者)我想要乙個什麼樣的英雄,拳頭告訴手下的程式設計師去做乙個這樣的英雄,程式設計師去屬性庫(抽象建造屬性類)中找,符合這樣英雄的抽象屬性,然後具體去設計這個英雄的各種屬性。
通過建構函式,讓客戶去改變建構函式中的裡式替換子類。
首先建造乙個抽象類庫,生命值,魔法值,攻擊力,防禦力
abstract
class
gamebuilder
其次具體到目標英雄的屬性
卡牌大師屬性
class
twistfate
:gamebuilder
public
override
voidmp(
)public
override
void
atk(
)public
override
void
def(
)}
戲命師燼屬性
public
override
voidmp(
)public
override
void
atk(
)public
override
void
def(
)}
然後建立乙個方法通過建構函式去選擇英雄
class
greateperson
public
void
giveperson()
}
最後玩家選擇想要的英雄
greateperson gp =
newgreateperson
(new
twistfate()
);//玩家想要什麼角色就建造什麼角色 在括號中里式轉換 把子類賦值給父類
gp.giveperson()
;
更改英雄只需要更改建構函式中的new 的子類就行了
greateperson gp =
newgreateperson
(new
jhin()
);//玩家想要什麼角色就建造什麼角色 在括號中里式轉換 把子類賦值給父類
gp.giveperson()
;
23種設計模式(建造者模式)
願歲月清淨 產品,房子 public class product public void setbuildera string buildera public string getbuilderb public void setbuilderb string builderb public stri...
23種設計模式之建造者模式
建造模式的本質 分離了物件子元件的單獨構造 有builder來負責 和裝配 由diretor負責 從而可以構造出複雜的物件。這種模式適用於 某個物件的構建過程複雜的情況下使用。由於實現了構建和裝配的解耦。不同的構建器,相同的裝配,也可以做出不同的物件 相同的構建器,不同的裝配順序也可以做出不同的物件...
23種設計模式之建造者模式
主要作用 在使用者不知道物件的建造過程和細節的情況下就可以直接建立複雜的物件。使用者只需要給出指定複雜物件的型別和內容,建造者模式負責按順序建立複雜物件 把內部的建造過程和細節隱藏起來 例子 角色分析 建圖紙 記錄建房的方法,步驟 抽象的建造者 方法 public abstract class bu...