单例模式
定义:确保一个类只有一个实例,并提供一个全局访问点。
设计思路
- 私有化构造函数,使外界不能创建该类的实例
- 对外开放一个共有静态方法,用于并返回全局唯一实例。
示例代码(C#)
/// <summary>
/// 单例模式的实现
/// </summary>
public class Singleton
{
private static Singleton m_Singleton;
private static readonly object locker = new object();
private Singleton() { }
/// <summary>
/// 返回该类全局唯一实例
/// </summary>
/// <returns></returns>
public static Singleton GetInstance()
{
if (m_Singleton == null)
{
lock (locker)
{
if (m_Singleton == null)
{
m_Singleton = new Singleton();
}
}
}
return m_Singleton;
}
}