一、意图
确保一个类只有一个实例,并对该实例提供全局访问接口。
二、应用场景
- 确保一个类只有一个实例,并对该实例提供全局访问接口;
- 使某个类只有一个实例对象,或有限个实例对象。
三、注意事项
需要保证多线程对单例对象的访问同步。
四、基本结构
public class Single{
private:
static Single s; //私有实例,静态
Single(){} //私有构造函数
static Single createInstance(){ //私有实例创建函数,静态
s = new Single();
return s;
}
public:
static getInstance(){ //公有获取实例函数,静态,对外接口
if(s == NULL){
s = createInstance();
}
return s;
}
};