定义
单例模式确保一个类只有一个实例,并提供一个全局访问点。
模式结构
uniqueInstance 是一个类变量,持有唯一的单例类的实例
getInstance 是一个静态的,也就是一个类方法,通过这个方法获得单例类的唯一实例,这么做的优点是可以延迟实例化。
模式分析
单例模式,实际上是把某个类设计成自己管理的一个单独实例,同时避免其他类再自行产生实例。要想取得单例实例,必须通过单例类。
提供这个实例的全局访问点。
代码实现
public class Singleton {
private static Singleton UniqueInstance;
priate Singleton() {}
public static Singleton getInstance () {
if (uniqueInstance == null) {
uniqueInstance = new Singleton();
}
return uniqueInstance
}
}
适用性
- 系统只需要一个实例对象
- 客户调用类的单个实例只允许使用一个公共访问点,除了该公共访问点,不能通过其他途径访问该实例。