設計模式(Design Patterns) – Builder(建構者模式)

目的

從複雜的布局中抽取出生成程序,以便用同一個生成程序製造不同的物件。

 

情境

假設你要載入並創建遊戲角色,你可能會有數個步驟

所以你可能會有一個 Builder 實體(機器人)負責定義載入的功能項,有另一個 Director (產生角色)負責把它們組起來。

另一個情況是,創造人形生物的方式也相同步驟,只是數值不同。

所以你可能會有個 Builder 抽象類別,定義 機器人跟 人形生物的各個部分

 

 

參與者 :

Director

  • 利用 Builder 來建構物件

Builder

  • 抽象類別,生成 Product 的各零件

ConcreteBuilder

  • Builder 的具體實作

Product

  • 希望產生的複雜物件

優點

將生成程序與內部布局的程式隔開來

假設如果今天有個不同的 Director 要產生無法辨識外觀的角色,仍可以調用機器人跟人形生物的 ConcreteBuilder ,但是不載入外型。

 

 

 

 


print

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *