一、二段设计模式
二段构建模式就是将内存空间的分配和初始化分开来完成,然后调用一个静态方法来返回这个对象。
调用Sprite::create()的时候内部先使用new来分配内存空间,然后调用init方法来初始化一些变量的设置。所以cocos2dx中的二段构建模式就是将new分配内存空间和init初始化内容分开来处理,而不是c++传统的做法在构造函数中初始化变量。
Sprite* Sprite::create() { Sprite *sprite = new Sprite(); if (sprite && sprite->init()) { sprite->autorelease(); return sprite; } CC_SAFE_DELETE(sprite); return nullptr; }
优点:由于构造函数并没有返回值,而且不能调用虚函数,还会出现加载图片资源的错误。所以使用二段式,将分配内存和初始化分开,对Bug的查询非常有利。
二、单例设计模式
当你需要在一个类中初始化一个需要设定为单例的对象,为这个对象的成员变量赋值,当在另一类中的时候,我们需要取得这个对象中的成员变量的值的时候,这样就设计成单例的。
就是一个全局变量,个人觉得没有必要使用的时候就别用了,毕竟小白出错几率是很大的。
cocos2dx游戏开发——设计模式
时间: 2024-10-09 06:58:35