码迷,mamicode.com
首页 > 其他好文 > 详细

Cocos2dx开发之设计模式

时间:2018-06-22 01:10:50      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:rip   就是   mvc   存在   生产   init   纹理   常见   xtu   

cocos2dx的几种常见设计模式

一 单例模式

Cocos2dx中的单例有:CCDirectorCCTextureCacheCCSpriteFrameCacheCCScriptEngineManager等等,那为什么存在这些单例呢?

如导演类负责控制场景对象等等,由此存在一个场景控制对象即可;类似那种操作缓存数据文件之类的,或者配置文件的类等,在程序运行过程也是只需一个便可。

 

二 观察者模式

指被观察者含有一个数组,里边存放了所有观察者的引用,在被观察者的状态发生改变的时候,通过调用观察者的函数来通知观察者,实现了信息的传递。

 

三 简单工厂模式

CCSpriteFrameCache类通过定制的plist文件来实例化一系列相关的CCSpriteFrame实例,然后只需要提供精灵帧的名字就可以得到相应的CCSpriteFrame实例了。从这个意义上来说,CCSpriteFrameCache类也可以说是一个工厂类,专门负责生产CCSpriteFrame实例。同时,如果精灵帧名字相同的话,那么获取的精灵帧实例也是相同的。

 

四 管理者模式

管理者(Manager)专门负责管理其它类的实例的类,如CCTextureCache

管理者类(cache类)可以简化一些可以重用的资源(比如字体、纹理、精灵帧等)的创建和管理工作可以提高游戏性能。

但凡那些对象,在运行时创建的时间开销特别大时,而又要经常重复使用时,都可以采取此模式来提高运行时性能

 

MVC — 按照我的理解就拿组队系统界面为例,CPortTeamUI就是Model,定义了业务逻辑相关的行为方法,如initUIUpdateView等;load加载的面板Panel便是View,由一组UI元素组成; ClsTeamDataController,负责逻辑数据管理中心。 打开界面时View要显示最新数据,则请求Controller问服务端要,当数据返回时Controller会寻找对应的Model,调用其定义的方法updateView从而执行更新行为,实际上Model会通知相关的View去实时更新。 Controller作为ModelView两者之间的联系桥梁。

Cocos2dx开发之设计模式

标签:rip   就是   mvc   存在   生产   init   纹理   常见   xtu   

原文地址:https://www.cnblogs.com/pyqLoner/p/9211516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!