一、UML图
二、包含的角色
Singleton类,定义一个GetInstance操作,允许客户访问它的唯一实例。
三、特点
因为Singleton类封装它的唯一实例,这样它可以严格的控制客户怎么访问它以及何时访问它。简单的说就是对唯一实例的受控访问。
四、代码实现
c++ 饿汉式
class Singleton
{
private:
Singleton() {}
static Singleton *instance;
public:
static Singleton *GetInstance();
void Operation();
};
Singleton *Singleton::instance = new Singleton();
Singleton *Singleton::GetInstance()
{
return instance;
}
void Singleton::Operation()
{
}
front end
Singleton::GetInstance()->Operation();
以上例子为饿汉式单例最简单的一种写法,意在说明这类设计模式。其他实现不在这里讨论