C++中单件设计模式(Singleton pattern)的语法实现

原创 2008年10月03日 10:27:00

当我们需要只有一个类的实例返回给调用程序时,就可以使用单件设计模式(Singletom pattern).这种类的声明如下:

class TheOnlyInstance

{

public:

        static TheOnlyInstance * GetTheOnlyInstance();

protected:

        TheOnlyInstance(){}

private:

        //

} ;

 

//只能通过公有静态方法来访问

TheOnlyInstance* TheOnlyInstance::GetTheOnlyInstance()

{

        static TheOnlyInstance objTheOnlyInstance;

        return &objTheOnlyInstance;

}

 

//错误的用法

int main()

{

        TheOnlyInstance noCanDo; //因为构造函是数保护成员,所以这种声明是错误的。

}

 

//说明

GetTheOnlyInstance方法仅在第一次被调用时,创建TheOnlyInstance类的一个实例。以这种方式构造的静态对象一直有效,直到程序终止,此时这种静态对象将自动释放。要检索指向这个类的唯一实例的指针,只需要调用静态方法GetTheOnlyInstance。

TheOnlyInstance * pTheOnlyInstance = TheOnlyInstance::GetTheOnlyInstance();

 

 

设计模式之---单例模式(Singleton Design Pattern)

场景 对象只要利用自己的属性完成了自己的任务.那该对象就是承担了责任。 除了维持了自身的一致性,该对象无需承担其他任何责任。 如果该对象还承担着其他责任,而其他对象又依赖于该特定对象所承担的贵任...
  • u010878994
  • u010878994
  • 2016年04月26日 01:19
  • 585

设计模式(创建型)之单例模式(Singleton Pattern)

单例模式可能是23种设计模式中最简单的。应用也非常广泛,譬如Android中的数据库访问等操作都可以运用单例模式。核心概念: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称...
  • yanbober
  • yanbober
  • 2015年04月27日 16:50
  • 2678

[Java设计模式](一)怎样实现Singleton(单例)模式编程

单例模式是开发模式中最简单,最易于理解的一种模式。简单地说,它指的就是始终保持一个实例的意思。但是,Java的类是可以穿件多个实例的,那么,怎么实现呢? 顾名思义,单例模式就是只有一个实例。单例模式确...
  • u012942818
  • u012942818
  • 2015年03月30日 15:20
  • 1144

C++单件模式的实现

单件模式:其实就是保证了一个类有且仅有一个对像,又提供一个全局访问方法。对某些类来说,希望它只有一个对像,那么用单件模式设计再好不过了。很多人在刚开始时不知道Ogre中getSingleton()、g...
  • fanwenyuan_fwy
  • fanwenyuan_fwy
  • 2014年08月08日 11:49
  • 522

Python中的Singleton (单件)模式

 我知道的一种在python中Singleton mode的实现如下:class Foo: passdefinstance():    global inst    try:        inst ...
  • zylcf818
  • zylcf818
  • 2010年03月03日 14:42
  • 1994

java设计模式学习系列之一:单例模式(Singleton)

单例模式(Singleton)    1.介绍:也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们...
  • qjyong
  • qjyong
  • 2007年08月01日 17:09
  • 21744

(C++实现)——模板方法模式(Template Method Pattern)

概述:      我们最近在开发一个支持多种压缩类型文件的解压缩且制作成pdf的一个应用。对我们的架构来说我们需要支持多种压缩文件类型,但却有固定的操作顺序(先解压缩,在读取里面的文件分析、制作...
  • u011676589
  • u011676589
  • 2013年09月18日 14:21
  • 1068

单件模式的C++实现

单件模式是一种用于确保整个应用程序中只有一个类实例且这个实例所占资源在整个应用程序中是共享时的程序设计方法(根据实际情况,可能需要几个类实例)。在某些情况下,这种程序设计方法是很有用处的。 Sin...
  • luoluoxiaocainiao
  • luoluoxiaocainiao
  • 2014年02月26日 21:16
  • 1250

单件 singleton pattern

现实中的问题:
  • MEIYOUDAO_JIUSHIDAO
  • MEIYOUDAO_JIUSHIDAO
  • 2014年05月24日 18:14
  • 650

使用C++11的可变参数模板改造单例模式

本人以前写过一个C++的单例模式(见此 设计模式C++之单例),想法很简单,不值一提。 最近,看了C++11的新特性中有可变参数模板,想到是否可以以此来改造单例模式。参考了网上的一些经验,写了一个大...
  • chlk118
  • chlk118
  • 2015年07月15日 20:59
  • 1386
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++中单件设计模式(Singleton pattern)的语法实现
举报原因:
原因补充:

(最多只允许输入30个字)