Head First 设计模式 05-单件模式
单件模式 确保一个类只有一个实例,并提供一个全局访问点。
也叫 单例模式。
这种模式在项目中还是比较常见的(如 线程池、缓存 等),理解起来也非常简单。
C# 中的常用写法如下。需要用到 lock 关键字,Java 中则需要使用 synchronized 关键字。
csharp
public class Singleton
{
private static object _obj_lock = new object();
private static Singleton _instance;
private Singleton() { }
public static Singleton Instance
{
get
{
if (_instance == null)
{
lock (_obj_lock)
{
if (_instance == null)
{
_instance = new Singleton();
}
}
}
return _instance;
}
}
}