![设计模式之禅](https://wfqqreader-1252317822.image.myqcloud.com/cover/55/603055/b_603055.jpg)
上QQ阅读APP看书,第一时间看更新
7.2 单例模式的定义
单例模式(Singleton Pattern)是一个比较简单的模式,其定义如下:
Ensure a class has only one instance,and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)
单例模式的通用类图如图7-2所示。
![](https://epubservercos.yuewen.com/C8244D/3731100103194801/epubprivate/OEBPS/Images/Figure-0066-58503.jpg?sign=1739212093-8b1SxJ0IZkKFsk1A8pGkO3d5PPfG094L-0-4d9db61c8b71a7bc81302870d8058779)
图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(){ } }