常用设计模式之单例模式

原创 2017年06月21日 21:12:36

单例模式:用来创建独一无二的,只能够有一个实例的对象。
单例模式的应用场景:有一些对象其实只需要一个,比如:线程池,缓存,对话框,处理偏好设置和注册表的对象,日志对象,充当打印机,显卡等设备的驱动程序对象。这些对象只能够拥有一个实例,如果创建出了多个实例,就会导致一些程序的问题。程序的行为异常,资源使用的过量,或者导致不一致的结果。常用来管理共享的资源,比如数据库的连接或者线程池。

Singleton经典结构为:
Singleton经典结构
我们通过维护一个static的成员来记录这个唯一的对象实例。通过提供一个static的接口instance来获得这个唯一的实例。

//Singleton.h
#ifndef _SINGLETON_H_
#define _SINGLETON_H_

#include <iostream>
using namespace std;

class Singleton
{
public:
    static Singleton* Instance();

//Singleton不可以被实例化,因此我们将其构造函数声明为protected,或者private。
protected:
    Singleton();

private:
    static Singleton* _instance;
};

#endif
//Singleton.cpp
#include "Singleton.h"
#include <iostream>
using namespace std;

Singleton *Singleton::_instance = 0;

Singleton::Singleton()
{
    cout << "Singleton..." << endl;
}

Singleton *Singleton::Instance()
{
    if (0==_instance)
    {
        _instance = new Singleton();
    }
    return _instance;
}
//Main.cpp
#include "Singleton.h"
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
    Singleton *sgn = Singleton::Instance();

    system("pause");
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

实现一个简单计算器,表达式为字符串表示

实现一个简单计算器,表达式为字符串表示 要求: 实现一个简单计算器,表达式是字符串,如“#(2*(1+3)+8)/4#”,以‘#’做标志位 如: 输入 #(2*(1+3)+8)/4#输出 4实现思...

常用设计模式之抽象工厂模式

抽象工厂模式: 抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。 应用场景: 当每...

六种常用的设计模式java实现(二)单例模式

上一节说完了工厂模式,那么,接下来给大家介绍下单例模式。单例模式想必大家应该都用得比较多,特别是在spring中,我们的java bean对象一般都是单例的。像项目中某些类只会被实例化一次或者只能实例...

Unity常用的设计模式_单例模式

单例模式

Android 常用设计模式(二) -- 单例模式(详解)

作者 : 夏至 欢迎转载,也请保留这段申明 http://blog.csdn.net/u011418943/article/details/60139644 上一篇讲到策略模式,变动的代码需要...

Unity常用设计模式之单例模式

单例模式:     单例就是游戏从始至终存在的唯一的实例,只需要生成一次,并且到游戏结束才需要销毁。 C#中的单例模式     单例模式的实现通俗来讲就是通过在本类中创建一个自己的实例来实现。在...

Java常用GoF设计模式之一单例模式

单例模式概念及特点   java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例(应用比较少,不做介绍)三种。   单例模式有一下特点:   1、单例类只能有一个实例...

java23种常用设计模式之单例模式(Singleton)

Singleton很有意思,也很容易理解,使用非常广泛。 在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样有几个好处: 1、某些类创建比较频繁,对于一些大型的对象,这可以节...

常用设计模式之单例模式

1.问题描述 在一个系统运行期间,某个类只需要一个实例运行就可以,该如何实现呢? 2.模式定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 3.解决思路 控制一个类只创建一个实例,首先就是...
  • FRF65
  • FRF65
  • 2013年12月26日 13:05
  • 531

常用设计模式之单例模式

上一篇:Android 内功心法(1)——设计模式的原则和android中常用的模式 中 我阐述了设计模式的几大原则,其中包括标准解释和我自己的理解。这一篇博文就后续android内功心法,来讲一讲...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:常用设计模式之单例模式
举报原因:
原因补充:

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