設計模式在遊戲中的應用 建造者模式(九)

2021-07-04 21:08:44 字數 1343 閱讀 9105

建造者模式(builder pattern):將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。建造者模式是一種物件建立型模式。通過這個定義,我們可以得出建造者是一種建立型模式,也就是說建造者模式的輸出是乙個物件,也就是uml類圖中的product。

我們先看看建造者模式的uml類圖:

// mvc.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include

#include

#include

using namespace std;

class log

; void setsize(int size)

void setcolor(int color)

void writefile( bool

value )

void printinfo()

;class ilogbuider

; virtual ~ilogbuider(){};

virtual

void setcolor() = 0;

virtual

void setsize() = 0;

virtual

void writefile() = 0;

};class dlogbuiler:public ilogbuider

void setsize()

void setcolor()

void writefile()

log* getlog()

private:

auto_ptrm_product;

};class elogbuiler:public ilogbuider

void setsize()

void setcolor()

void writefile()

log* getlog()

private:

auto_ptrm_product;

};class wdirector

; void construct(ilogbuider* builder)

};class ldirector

; void construct(ilogbuider* builder)

};void main()

建造者模式屬於一種建立型的模式,主要是對product進行封裝從而能適應不同的情況,同時product內部有著穩定的建立過程。

設計模式在遊戲中的應用 簡單工廠模式(一)

自己作為乙個剛畢業的菜鳥,有幸能夠和牛人們一起工作很開心。當時策劃提出乙個需求,需要針對每個職業進行不同的能量恢復。我當時接到這個需求,心中暗喜,這還不簡單,把每個職業的恢復率放到乙個陣列裡面,然後接著各種if.else.當時還為這種能在陣列裡面直接修改資料,讓資料和邏輯分離開來感到開心。接著策劃提...

設計模式在遊戲中的應用 模板方法(七)

模板方法這個名字看著很陌生,其實在遊戲中大量地使用了模板方法,因為遊戲中存在玩家 npc和靜態物體等不同的物件,使用多型特性能很好地進行區分。模板方法的定義是 模板方法模式 在乙個方法中定義乙個演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變演算法結構的情況下,重新定義演算法中的...

四 JavaScript設計模式之建造者模式

一 建造者模式模式概念 建造者模式可以將乙個複雜的物件的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。也就是說如果我們用了建造者模式,那麼使用者就需要指定需要建造的型別就可以得到它們,而具體建造的過程和細節就不需要知道了。建造者模式實際就是乙個指揮者,乙個建造者,乙個使用指揮者呼叫具體建...