码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-09-24 19:32:28      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:实现   std   ges   col   ace   技术   src   pac   分享   

单例模式

单例模式(Singleton Pattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。
单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式是一种对象创建型模式。单例模式又名单件模式或单态模式。
C++实现:
#include<iostream>

using namespace std;


class Singleton{
private:
    Singleton(){};//构造函数private,防止外部构造
public:
    static Singleton * instance ;//静态数据类型用来保存唯一单例
    ~Singleton(){
        delete instance;
    }
    static Singleton* getInstance(){
        if (instance == nullptr) {
            instance = new Singleton();
        }
        return  instance;
    }
    void singletonOperation(){
        cout << "singletonOperation" << endl;
    }
};

Singleton * Singleton::instance = NULL;

int main(int argc, char **argv){
    Singleton * sg = Singleton::getInstance();
    sg->singletonOperation();
    return 0;
}

类图:

技术分享图片

单例模式在一些引用语义的对象中使用比较多,用来保证类的对象只能存在一份!

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

标签:实现   std   ges   col   ace   技术   src   pac   分享   

原文地址:https://www.cnblogs.com/J1ac/p/9696260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!