關於客戶端架構的思考

在客戶端寫了這麼久,總感覺不順暢。我喜歡去改變現有的東西,使其

更易於使用。
縱觀客戶端目前的架構:邏輯子系統、AC、VC、CEGUI。層層疊疊,原本
一次簡單的CS交互被弄得如此複雜。數據冗餘、結構不清晰。


我的想法大致如下:
一、幹掉邏輯子系統
邏輯子系統的存在,除了將問題搞複雜之外沒有任何好處。這種所謂的
”邏輯子系統“,無非緩存一份數據,而在對應的AC中爲了方便使用不得不緩
存其中的部分數據,對於AC沒有緩存的數據,還不得不調用接口去獲取,而
獲取接口的方式又是五花八門,亂糟糟。

二、AC與VC之間共享數據通過類繼承的方式實現
幹掉了邏輯子系統,我選擇將數據緩存至AC中,同時有AC去派生出VC。
AC基類僅負責數據緩存、刷新,VC提供界面相關控制。這樣VC就能非常方便
的獲取自己所需的數據,而不用AC將數據主動設置到VC中。同時,VC對數據
的影響很直接,不用通過獲取AC指針、調用AC接口去主動設置。


三、對基礎對象的抽象更加徹底
	// 根類
	class Object
	{
	public:
		Object(const std::wstring & name) : _name(name){}
		virtual(){}
		//...
	private:
		std::wstring _name;
	}
	
	// 事件 
	class Eventset{}//...
	
	// 通信
	class Network{} //...
	
	// 擁有事件的對象
	Class EventedObject : public Object, public Eventset
	{
	//...
	}
	
	// 可收發包的對象
	class NetworkObject{}//...

等等,將這些基本對象抽象出來,根據需要最輕量派生具體的功能
模塊類。
目前的思考就這些,抽空再想。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章