1.**模式
environmenteffec中定義關於霧效,燈光等**。通過**,proxy 實現具體的效果
fogproxy * getfogproxy();
lightproxy * getlightproxy();
trivialproxy * gettrivialproxy()
定義fogproxy, lightproxy,skylayerproxy,trivialproxy 類 以及類中的函式,實現新增霧效,光效,天空等效果.
class fogproxy
; ~fogproxy(){};
void setfogfar(float fogfar, float alpha);;
float getfogfar()const ;
void setfognear(float fognear, float alpha);;
float getfognear()const ;
void setfogcolor(const colorvalue & color, float alpha);;
const colorvalue & getfogcolor()const ;
void setfogdensity(float density, float alpha);;
float getfogdensity()const ;
void setfogenable(bool enable)
bool getfogenable()const
protected:
float mfogfar;
float mfognear;
colorvalue mfogcolor;
float mfogdensity;
bool mfogenable;
};
2.命令模式
建立weathercommand,
class weathercommand
; virtual ~weathercommand(){};
virtual void docommand(environmenteffect * env, float timealpha, float regionalpha, float filteralpha) = 0;
virtual const tstring & getcommandid() = 0;
virtual const tstring & getclassid() = 0;
void notifyweather(weather * weather);
protected:
weather * mweather;
};
3.工廠
模式 在類weathercommandfactory中使用工廠模式建立,銷毀天氣命令。之後可以派生出各種天氣命令。
class weathercommandfactory
;
其中registerallcommand() 註冊各種產生天氣命令 實戰中使用設計模式 簡單工廠模式
1.簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法模式。它的實現方式是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。2.簡單工廠模式由三種角色組成 3.場景 4.實現 我們將建立乙個 paymentmethod 介面和實現 paymentmeth...
Spring中使用設計模式(一 策略模式)
前幾天看到新來的同事桌上有一本設計模式的書,想起許多年前自己啃厚厚的模式時,始終昏昏欲睡,不得要領那段時光。重整思路,結合spring,寫下現在在開發中常用的設計模式使用方式。在工作中最常用的就是策略模式了,也可以說是策略模式的簡化版。客戶端可以決定用那種策略,呼叫上下文,上下文使用具體策略做具體的...
在WPF設計器中使用示例資料
在wpf程式中,當我們給繫結的資料來源編寫datatemplate時,往往想在設計器中看到效果,這時就需要在設計器中新增一些示例資料。如果實現這一功能呢?一種簡單的做法是在 中手動新增,publicmainwindow 關於這種方式的示例可以參看這篇文章 custom listbox itemtem...