Cocos2d-x 设计模式
文章平均质量分 80
Crayondeng
这个作者很懒,什么都没留下…
展开
-
Cocos2d-x 设计模式 (4):外观模式
1.应用场景Cocos2d-x里面有一个非常明显的地方使用了外观模式,它就是SimpleAudioEngine。因为它为CocosDenshion这个子系统的一组接口提供了一个一致的界面,同时定义了一个高层接口,方便客户使用该子系统。对于大多数用户来讲,游戏中操作声音,无非就是播放背景音乐和音效。CocosDenshion这个子系统封装了OpenAL,屏蔽了OpenAL操作声音的低转载 2013-09-06 12:13:13 · 1433 阅读 · 0 评论 -
Cocos2d-x 设计模式 (6):观察者模式
1、应用场景前面在介绍单例模式的时候,提到了一个类CCNotificationCenter,它除了应用单例模式以外,还应用了观察者模式。CCNotificationCenter类是观察者模式中的目标对象,而CCNotificationObserver则是观察者。一个目标对象可以注册多个观察者,当目标对象的状态改变的时候,可以通知观察者对象作出相应的响应。这是标准的观察者模式的实现,转载 2013-09-06 12:17:57 · 1983 阅读 · 0 评论 -
Cocos2d-x 设计模式 (9):委托和委托设计模式
前言:前一篇文章讨论了cocos2d-x里面的中介者模式,但是,由于概念把握上面的偏差,我把GoF的中介者模式搞混淆了。幸好有读者给我提出了这个问题,我在上一篇文章中也补充说明了。虽然我谈到的应用场景跟中介者模式有点类似,但是,经典的模式就是模式,我不能随便篡改,更不能张冠李戴。所以,这篇文章我将谈到的是委托模式(delegation pattern),而不是GoF里面的代理模式(Prox转载 2013-09-06 12:23:05 · 2155 阅读 · 0 评论 -
Cocos2d-x 设计模式 (7):组合模式
在开始挖掘cocos2d-x里面的组合模式之前,我武断地下个结论:“几乎所有与GUI相关的框架设计都应用了组合设计模式”。(PS:大家注意我的用词,是“几乎所有”,给自己留条后路,哈哈)1、应用场景Cocoa编程框架APPKit和UIKit都应用了组合模式,各种各样的View及其派生类组成了一棵树状结构的层级视图,而这里面就应用了组合模式。当然,Cocos2D-x里面的No转载 2013-09-06 12:19:14 · 1633 阅读 · 0 评论 -
Cocos2d-x 设计模式 (8):中介者模式
前言:上上周写了关于cocos2d-x里面的观察者模式,文章最后提到一个应用场景:“你的GameScene里面有两个layer,一个gameLayer,它包含了游戏中的对象,比如玩家、敌人等。另一个层是HudLayer,它包含了游戏中显示分数、生命值等信息。如何让这两个层相互通信。”关于这两个层之间如何通信的问题,读者Llllong和我畅快淋漓地讨论了一番,详细的内容可以参考那篇文转载 2013-09-06 12:22:13 · 1946 阅读 · 0 评论 -
Cocos2d-x 设计模式 (5):防御式编程模式
声明:防御式编程是提高程序代码质量的一种手段,它不能算是真正意义上的模式。但是,这里,我还是要给它冠之以“模式”二字。原因有2:1.cocos2d-x的框架源代码大量采用了防御式编程技术,用来确保框架的代码质量和稳定性。2.标题党,引起大家对于防御式编程的重视。特别是当大家给cocos2d-x贡献源代码的时候,更应该要注意保证代码质量。因为,王哲大大在review很多人给c转载 2013-09-06 12:17:14 · 1731 阅读 · 0 评论 -
Cocos2d-x 设计模式 (3):管理者模式
想必读者一看这个题目又要纳闷了,神马又是“管理者模式”啊?管理者(Manager)就是专门负责管理其它类的实例的类,比如Cocoa里面的NSFontManager、NSInputManager、NSFileManager和NSLayoutManager类。此模式和“二段构建模式”一样,也没有出现在GoF的23个设计模式中,但是《Cocoa设计模式》一书中有提及,感兴趣的读者可以去查阅一下。转载 2013-09-04 23:41:41 · 1832 阅读 · 0 评论 -
Cocos2d-x 设计模式 (1):单例模式
本系列文章我将和大家一起来发掘cocos2d-x中所使用到的设计模式,同样的,这些模式在cocos2d-iphone中也可以找到其身影。声明:这里发掘模式只是我的个人爱好,通过这个过程,我希望能加深自己对于设计模式运用的理解。关于模式的学习,市面上已经有许多非常好的书籍了。比如《Head First设计模式》、GoF的设计模式,还有《研磨设计模式》等。如果读者对于设计模式完全不了解的话,建转载 2013-09-04 23:32:44 · 2401 阅读 · 0 评论 -
Cocos2d-x 设计模式 (2):二段构建模式
乍一看标题,大家可能会觉得很奇怪,神马是“二段构建模式”呢?所谓二段构建,就是指创建对象时不是直接通过构建函数来分配内存并完成初始化操作。取而代之的是,构造函数只负责分配内存,而初始化的工作则由一些名为initXXX的成员方法来完成。然后再定义一些静态类方法把这两个阶段组合起来,完成最终对象的构建。因为在《Cocoa设计模式》一书中,把此惯用法称之为“Two Stage Creation”转载 2013-09-04 23:38:57 · 2291 阅读 · 0 评论