概述:工廠方法(factory method)模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品。
其實我們都知道工廠方法和簡單工廠的區別就是工廠方法把簡單工廠的方法進行了抽象,提取出了乙個公共的工廠基類。遵循對修改關閉對擴充套件開放的態度,當需要增加新的產品的時候,只需要增加新的工廠和對應的產品就可以了。
#include "stdafx.h"
#include
using
namespace
std;
int _tmain(int argc, _tchar* argv)
class iguildeventmsg
; virtual ~iguildeventmsg(){};
virtual
void printmsg(){};
};class guildcreateguildmsg:public iguildeventmsg
; virtual ~iguildeventfactory(){};
virtual
void printmsg(){};
virtual iguildeventmsg* createfactory();
};class guildcreateeventfactory:public iguildeventfactory
};class guildquiteventfactory:public iguildeventfactory
};void main()
上面是遊戲中公會的事件的乙個工廠方法,使用工廠方法不使用簡單工廠的原因:
一、在對應的地方新增對應的事件的時候,我們知道對應什麼事件,不需要簡單工廠再來判斷。
二、當我們需要新增新的公會事件的時候,只需要新增對應的工廠和事件。
設計模式在遊戲中的應用 簡單工廠模式(一)
自己作為乙個剛畢業的菜鳥,有幸能夠和牛人們一起工作很開心。當時策劃提出乙個需求,需要針對每個職業進行不同的能量恢復。我當時接到這個需求,心中暗喜,這還不簡單,把每個職業的恢復率放到乙個陣列裡面,然後接著各種if.else.當時還為這種能在陣列裡面直接修改資料,讓資料和邏輯分離開來感到開心。接著策劃提...
遊戲中的設計模式 工廠模式
現在的網遊更新很快,要延長網路遊戲生命週期的方法是,更新,不斷地更新,不斷的將新內容呈現於玩家面前。這要求遊戲程式的設計要有彈性,的重用至關重要。今天就說說遊戲中的工廠模式。說到工廠模式,有簡單工廠模式,工廠方法模式,抽象工廠模式。一 簡單工廠模式 ps 物件導向的程式設計,並不是類越多越好,類的劃...
設計模式在遊戲中的應用 模板方法(七)
模板方法這個名字看著很陌生,其實在遊戲中大量地使用了模板方法,因為遊戲中存在玩家 npc和靜態物體等不同的物件,使用多型特性能很好地進行區分。模板方法的定義是 模板方法模式 在乙個方法中定義乙個演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變演算法結構的情況下,重新定義演算法中的...