设计模式-单键(Signelton):其实单键的设计模式说来很简单,说的直白一点就是程序运行过程中保证只有一个实例在运行而已。在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。实现方法是将类的构造函数设置为私有,然后显示的提供一个方法来返回此对像的实例。
class Singleton { private: Singleton() { cout<<"Singleton"<<endl; } public: static Singleton* instance() { if(!sig) sig=new Singleton(); return sig; } private: static Singleton * sig; }; Singleton * Singleton::sig=0;
由上述代码可以知道Singleton只在第一次创建时被调用,以后均不在被创建,由于类的构造函数设为了私有,因此,无法构造类的对象,只能通过instance方法获取对象的指针,而instance方法只会在第一次创建对像时构建对象,以后均不在构建。
单键(Signelton)模式主要作用:
1:保证一个类仅有一个实例,并提供一个访问它的全局访问点