常用设计模式之单例模式

原创 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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

常用的设计模式----单例模式

应用场景:比如工具类,线程池,缓存,日志对象,配置文件。这些对象只需要一个就足够了,避免如果创造多个实例,引发其他问题(占用过多资源,不一致的结果等等)。作用:保证整个应用程序中某个实例有且只有一个。...

iOS常用设计模式 —— 单例模式

iOS常用设计模式壹:单例模式 单例模式的作用是解决“应用中只有一个实例”的一类问题 1. 问题背景在一个iOS应用的生命周期中,有时候只需要某个类的一个实例,如果有多个该例,就会占用过多内存或者...

PHP常用的设计模式--工厂、单例模式

设计模式介绍 在软件工程中,设计模式(Design Pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990...

单例模式——最常用的设计模式

单例模式是应用最广的设计模式之一,在这个模式中,单例对象的类必须保证只有一个实例存在。即不能自由构造对象的情况,就是单例模式的使用场景。确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源...

常用设计模式之单例模式

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

常用设计模式之单例模式

上一篇:Android 内功心法(1)——设计模式的原则和android中常用的模式 中 我阐述了设计模式的几大原则,其中包括标准解释和我自己的理解。这一篇博文就后续android内功心法,来讲一讲...

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

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

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

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

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

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

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

单例模式
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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