Design Pattern - Singleton

单例模式

定义:确保一个类只有一个实例,并提供一个全局访问点。

设计思路

  • 私有化构造函数,使外界不能创建该类的实例
  • 对外开放一个共有静态方法,用于并返回全局唯一实例。

示例代码(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;
    }
}
posted @ 2018-12-21 14:22  郑大峰  阅读(121)  评论(0编辑  收藏  举报