singleton 是设计模式中比较经典的, 今天看见项目中用到了,于是把这个设计模式的要点记下
singleton又称为单件,主要有两点需要注意
1 构造函数必须为私有的(至少是保护的),这样就可以避免其他类实例化。
2 提供一个静态函数构造自己,构造函数判断是否已经有实例存在,如果有则返回这个实例,没有就创建。这样就保证了实例的唯一性。
code:
#define CONFIG_DATA ConfigData_c::Instance()
class ConfigData_c
{
....
public:
static ConfigData_c* Instance()
{
static ConfigData_c instance;
return &instance;
}
protected:
ConfigData_c()
{
_inited = false;
}
private:
bool _inited;
};
这就是单件模式的主要东西, 至于其它的就得你自己发挥了, 还是那句话,运用之妙存乎一心。
阅读(441) | 评论(0) | 转发(0) |