首页 > 代码库 > cocos2dx游戏开发——设计模式

cocos2dx游戏开发——设计模式

一、二段设计模式

二段构建模式就是将内存空间的分配和初始化分开来完成,然后调用一个静态方法来返回这个对象。

 

调用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的查询非常有利。

 

二、单例设计模式

      当你需要在一个类中初始化一个需要设定为单例的对象,为这个对象的成员变量赋值,当在另一类中的时候,我们需要取得这个对象中的成员变量的值的时候,这样就设计成单例的。

 

     就是一个全局变量,个人觉得没有必要使用的时候就别用了,毕竟小白出错几率是很大的。