Chinaunix首页 | 论坛 | 博客
  • 博客访问: 432951
  • 博文数量: 138
  • 博客积分: 4114
  • 博客等级: 上校
  • 技术积分: 1341
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-14 20:41
文章分类

全部博文(138)

文章存档

2014年(1)

2013年(2)

2012年(78)

2011年(13)

2010年(34)

2009年(10)

我的朋友

分类: LINUX

2010-04-09 13:33:40

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;
};
这就是单件模式的主要东西, 至于其它的就得你自己发挥了, 还是那句话,运用之妙存乎一心。


阅读(403) | 评论(0) | 转发(0) |
0

上一篇:c++前向声明

下一篇:factory

给主人留下些什么吧!~~