设计模式之单例模式
Singleton 模式:在基于对象设计中,创建一个全局变量(对象)来实现单例模式.
单例模式结构图:
在Singleton模式中,我们通过维护一个stataic成员变量来记录这个唯一的对象实例,通过一个static的接口instance来火的这个唯一的实例.
具体实现代码如下:
1.//Singleton.h
#ifndef _SINGLETON_H_
#define _SINGLETON_H_
#include <iostream>
using namespace std;
class Singleton {
public:
static Singleton* Instance();
protected:
Singleton();
private:
static Singleton* _instance;
};
#endif //~_SINGLETON_H_
2.//Singleton.cpp
#include "Singleton.h"
#include <iostream>
using namespace std;
Singleton* Singleton::_instance = 0; Singleton::Singleton()
{
cout<<"Singleton...."<<endl;
}
Singleton* Singleton::Instance()
{
if (_instance == 0) {
_instance = new Singleton();
}
return _instance;
}
3.//main.cpp
#include "Singleton.h"
#include <iostream>
using namespace std;
int main(int argc,char* argv[])
{
Singleton* sgn = Singleton::Instance();
return 0;
}
说明:单例模式在开发中经常用到,开发过程中用到的一些实例必须是唯一的.单例模式和工厂模式在一起使用,来实现模式的优化