设计模式之- 单例模式(Singleton Pattern)
Posted j1ac
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之- 单例模式(Singleton Pattern)相关的知识,希望对你有一定的参考价值。
单例模式
单例模式(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)的主要内容,如果未能解决你的问题,请参考以下文章