Singleton设计模式

来源:互联网 发布:js 浮点数计算误差 编辑:程序博客网 时间:2024/06/10 02:37

实现方法:

/// <summary>/// 单实例设计模式/// </summary>/// <typeparam name="T">需要实例化的类</typeparam>public class SingleTon<T> where T : class, new(){    protected SingleTon() { }    private static T _instance;    private static readonly object _syncRoot = new object();    /// <summary>    /// 获取当前实例    /// </summary>    public static T Instance    {        get        {            if (_instance == null)            {                lock (_syncRoot)                {                    //Double-Check双重检查锁定,对于多线程访问时控制                      if (_instance == null)                    {                        _instance = new T();                    }                }            }            return _instance;        }    }}


使用方法:

public class BusinessManager : SingleTon<BusinessManager>{    public void SayHello()    {        Console.WriteLine("Hello");    }}
方法调用:

BusinessManager.Instance.SayHello();




0 0
原创粉丝点击