麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

基于靜態(tài)Singleton模式的使用介紹

2020-01-24 03:27:12
字體:
供稿:網(wǎng)友

什么是靜態(tài)單例模式?

靜態(tài)單例模式(Static Singleton Pattern)是我在實(shí)踐中總結(jié)的模式,主要解決的問題是在預(yù)先知道某依賴項(xiàng)為單例應(yīng)用時(shí),通過靜態(tài)緩存該依賴項(xiàng)來提供訪問。當(dāng)然,解決該問題的辦法有很多,這只是其中一個(gè)。

實(shí)現(xiàn)細(xì)節(jié)

復(fù)制代碼 代碼如下:

/// <summary>
  /// 靜態(tài)單例
  /// </summary>
  /// <typeparam name="TClass">單例類型</typeparam>
  public static class Singleton<TClass> where TClass : class, new()
  {
    private static readonly object _lock = new object();
    private static TClass _instance = default(TClass);

    /// <summary>
    /// 獲取單例實(shí)例
    /// </summary>
    public static TClass GetInstance()
    {
      return Instance;
    }

    /// <summary>
    /// 單例實(shí)例
    /// </summary>
    public static TClass Instance
    {
      get
      {
        if (_instance == null)
        {
          lock (_lock)
          {
            if (_instance == null)
            {
              _instance = new TClass(); // must be public constructor
            }
          }
        }

        return _instance;
      }
    }

    /// <summary>
    /// 設(shè)置單例實(shí)例
    /// </summary>
    /// <param name="instance">單例實(shí)例</param>
    public static void Set(TClass instance)
    {
      lock (_lock)
      {
        _instance = instance;
      }
    }

    /// <summary>
    /// 重置單例實(shí)例
    /// </summary>
    public static void Reset()
    {
      lock (_lock)
      {
        _instance = default(TClass);
      }
    }
  }


應(yīng)用測(cè)試
復(fù)制代碼 代碼如下:

class Program
  {
    interface IInterfaceA
    {
      string GetData();
    }
    class ClassA : IInterfaceA
    {
      public string GetData()
      {
        return string.Format("This is from ClassA with hash [{0}].", this.GetHashCode());
      }
    }
    static void Main(string[] args)
    {
      string data1 = Singleton<ClassA>.GetInstance().GetData();
      Console.WriteLine(data1);
      string data2 = Singleton<ClassA>.GetInstance().GetData();
      Console.WriteLine(data2);

      Console.ReadKey();
    }
  }


測(cè)試結(jié)果

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 91成人免费网站 | 国产午夜免费视频 | 黄色毛片a级 | 深夜网站在线观看 | 鲁丝片一区二区三区免费入口 | 色综合久久久久久久粉嫩 | 久久不射电影网 | 九草在线视频 | 黄色网络免费看 | av国产免费 | 92自拍视频 | 91在线视频在线观看 | 免费久久久久 | 在线成人免费网站 | 黄色片免费在线播放 | 成年人视频免费看 | 韩国精品视频在线观看 | 亚洲人片在线观看 | 欧美一级黄 | 成人在线视频免费观看 | 日韩99| 日本一区二区不卡高清 | 成人在线精品视频 | 国产成年人小视频 | 青青草在线免费观看 | 羞羞的视频在线观看 | 日韩美香港a一级毛片免费 欧美一级淫片007 | 新久久久久久 | 草草视频在线播放 | 黄色a级片视频 | 色就色 综合偷拍区91网 | 午夜视频大全 | 日本爽快片100色毛片视频 | 一本色道久久综合狠狠躁篇适合什么人看 | 精品国产久 | 欧日韩在线 | 国产精品久久久久久久久久iiiii | 最新久久免费视频 | 久久亚洲第一 | 91成人在线网站 | 真人一级毛片免费 |