Cocos2dx開發之設計模式

cocos2dx的幾種常見設計模式

一 單例模式設計模式

Cocos2dx中的單例有:CCDirectorCCTextureCacheCCSpriteFrameCacheCCScriptEngineManager等等,那爲何存在這些單例呢?數組

如導演類負責控制場景對象等等,由此存在一個場景控制對象便可;相似那種操做緩存數據文件之類的,或者配置文件的類等,在程序運行過程也是隻需一個即可。緩存

 

二 觀察者模式函數

指被觀察者含有一個數組,裏邊存放了全部觀察者的引用,在被觀察者的狀態發生改變的時候,經過調用觀察者的函數來通知觀察者,實現了信息的傳遞。性能

 

三 簡單工廠模式字體

CCSpriteFrameCache類經過定製的plist文件來實例化一系列相關的CCSpriteFrame實例,而後只須要提供精靈幀的名字就能夠獲得相應的CCSpriteFrame實例了。從這個意義上來講,CCSpriteFrameCache類也能夠說是一個工廠類,專門負責生產CCSpriteFrame實例。同時,若是精靈幀名字相同的話,那麼獲取的精靈幀實例也是相同的。spa

 

四 管理者模式設計

管理者(Manager)專門負責管理其它類的實例的類,如CCTextureCache對象

管理者類(cache類)能夠簡化一些能夠重用的資源(好比字體、紋理、精靈幀等)的建立和管理工做能夠提升遊戲性能。遊戲

但凡那些對象,在運行時建立的時間開銷特別大時,而又要常常重複使用時,均可以採起此模式來提升運行時性能

 

MVC — 按照個人理解就拿組隊系統界面爲例,CPortTeamUI就是Model,定義了業務邏輯相關的行爲方法,如initUIUpdateView等;load加載的面板Panel即是View,由一組UI元素組成; ClsTeamDataController,負責邏輯數據管理中心。 打開界面時View要顯示最新數據,則請求Controller問服務端要,當數據返回時Controller會尋找對應的Model,調用其定義的方法updateView從而執行更新行爲,實際上Model會通知相關的View去實時更新。 Controller做爲ModelView二者之間的聯繫橋樑。

相關文章
相關標籤/搜索