创建型 - 单例模式

目录
设计思想
有一些人,你希望是唯一的,程序也一样,有一些类,你希望实例是唯一的。单例就是一个类只能有一个对象(实例),单例就是用来控制某些事物只允许有一个个体,比如在我们生活的世界中,有生命的星球只有一个——地球(至少到目前为止人类所发现的世界中是这样的)。
人如果脚踏两只船,你的生活将会翻船!程序中的部分关键类如果有多个实例,将容易使逻辑混乱,程序崩溃!
类图
代码实现
public final class Singleton {
private static volatile Singleton instance;
public String value;
public static Singleton getInstance(String value) {
Singleton result = instance;
if (result != null) {
return result;
}
synchronized(Singleton.class) {
// double check
if (instance == null) {
instance = new Singleton(value);
}
return instance;
}
}
}
适用场景
- 如果程序中的某个类对于所有客户端只有一个可用的实例,可以使用单例模式。
- 项目中的一些全局管理类(Manager)可以用单例来实现。