Design Pattern - Singleton

Posted zdfffg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    }
}

以上是关于Design Pattern - Singleton的主要内容,如果未能解决你的问题,请参考以下文章

[Design Pattern] DAO Pattern 简单案例

[Design Pattern] Filter Pattern 简单案例

[Design Pattern] Proxy Pattern 简单案例

Pattern Design - Strategy Pattern

[Design Pattern] Facde Pattern 简单案例

[Design Pattern] Flywight Pattern 简单案例