设计模式之禅
上QQ阅读APP看书,第一时间看更新

7.2 单例模式的定义

单例模式(Singleton Pattern)是一个比较简单的模式,其定义如下:

Ensure a class has only one instance,and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)

单例模式的通用类图如图7-2所示。

图7-2 单例模式通用类图

Singleton类称为单例类,通过使用private的构造函数确保了在一个应用中只产生一个实例,并且是自行实例化的(在Singleton中自己使用new Singleton())。单例模式的通用源代码如代码清单7-3所示。

代码清单7-3 单例模式通用代码

public class Singleton {
     private static final Singleton singleton=new Singleton();
     //限制产生多个对象
     private Singleton(){
     }
     //通过该方法获得实例对象
     public static Singleton getSingleton(){
             return singleton;
     }
     //类中其他方法,尽量是static
     public static void doSomething(){
     }
}