最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#單例模式(Singleton Pattern)實(shí)例教程

 更新時(shí)間:2014年09月12日 15:14:41   投稿:shichen2014  
這篇文章主要介紹了C#單例模式(Singleton Pattern)的實(shí)現(xiàn)方法,主要講述了即時(shí)加載的單例模式、延遲加載的單例模式與線程安全的單例模式,需要的朋友可以參考下

本文以實(shí)例形式講述了C#單例模式(Singleton Pattern)的實(shí)現(xiàn)方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

一般來說,當(dāng)從應(yīng)用程序全局的角度來看,如果只允許類的一個(gè)實(shí)例產(chǎn)生,就可以考慮單例模式。

1.即時(shí)加載的單例模式

把類的實(shí)例賦值給類的一個(gè)靜態(tài)字段。

class Program
{
    static void Main(string[] args)
    {
      Logger log = Logger.GetInstance();
      log.WriteToFile();
      Console.Read();
    }
}
public class Logger
{
    private static Logger logger = new Logger();
    private Logger(){}
    public static Logger GetInstance()
    {
      return logger;
    }
    public void WriteToFile()
    {
      Console.WriteLine("錯(cuò)誤被寫入文件了~~");
    }
}

2.延遲加載的單例模式

直到調(diào)用類的靜態(tài)方法,才產(chǎn)生類的實(shí)例。

public class Logger
{
    private static Logger logger = null;
    private Logger(){}
    public static Logger GetInstance()
    {
      if (null == logger)
      {
        logger = new Logger();
      }
      return logger;
    }
    public void WriteToFile()
    {
      Console.WriteLine("錯(cuò)誤被寫入文件了~~");
    }
}

3.線程安全的單例模式

直到調(diào)用類的靜態(tài)方法,保證只有一個(gè)線程進(jìn)入產(chǎn)生類的實(shí)例。

public class Logger
{
    private static Logger logger = null;
    private static object lockObj = new object();
    private Logger(){}
    public static Logger GetInstance()
    {
      lock (lockObj)
      {
        if (logger == null)
        {
          logger = new Logger();
        }
        return logger;
      }
    }
    public void WriteToFile()
    {
      Console.WriteLine("錯(cuò)誤被寫入文件了~~");
    }
}

總結(jié):靜態(tài)單例類型的私有字段,私有構(gòu)造函數(shù),獲取單例的方法是構(gòu)成單例模式的3個(gè)必要元素。希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

彭泽县| 岚皋县| 肥城市| 伊宁市| 沂南县| 布尔津县| 临泽县| 铅山县| 科技| 石城县| 舒兰市| 康定县| 望都县| 吴江市| 安阳市| 桑植县| 陵川县| 高碑店市| 吴旗县| 吉木萨尔县| 綦江县| 平安县| 滁州市| 威宁| 茶陵县| 磐安县| 乳源| 开阳县| 寿宁县| 汉川市| 黄浦区| 自贡市| 敖汉旗| 石屏县| 金坛市| 罗甸县| 土默特左旗| 新平| 黎川县| 千阳县| 武安市|