成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#使用Singleton模式

開發(fā) 后端
這里介紹C#使用Singleton模式,有些時候在整個應用程序中,會要求某個類有且只有一個實例,這個時候可以采用Singleton模式進行設計。

C#語言有很多值得學習的地方,這里我們主要介紹C#使用Singleton模式,包括介紹C#使用Singleton模式的實現(xiàn)有兩個技巧等方面。

C#使用Singleton模式

Singleton(譯為單件或單態(tài))模式是設計模式中比較簡單而常用的模式。

有些時候在整個應用程序中,會要求某個類有且只有一個實例,這個時候可以采用Singleton模式進行設計。C#使用Singleton模式設計的類不僅能保證在應用中只有一個實例,而且提供了一種非全局變量的方法進行全局訪問,稱為全局訪問點,這樣對于沒有全局變量概念的純面向對象語言來說是非常方便的,比如C#。

本文用一個計數(shù)器的例子來描述在C#使用Singleton模式:計數(shù)的值設計為計數(shù)器類的一個私有成員變量,它被4個不同的線程進行讀寫操作,為保證計數(shù)的正確性,在整個應用當中必然要求計數(shù)器類的實例是唯一的。

Singleton的實現(xiàn)方式

首先看看教科書方式的Singleton標準實現(xiàn)的兩種方法,以下用的是類C#偽代碼:

方法一:

  1. using System;  
  2. namespace csPattern.Singleton  
  3. {  
  4. public class Singleton  
  5. {  
  6. static Singleton uniSingleton = new Singleton();  
  7. private Singleton() {}  
  8. static public Singleton instance()  
  9. {  
  10. return uniSingleton;  
  11. }  
  12. }  
  13. }  

方法二:

  1. using System;  
  2. namespace csPattern.Singleton  
  3. {  
  4. public class Singleton  
  5. {  
  6. static Singleton uniSingleton;  
  7. private Singleton() {}  
  8. static public Singleton instance()  
  9. {  
  10. if (null == uniSingleton)  
  11. {  
  12. uniSingleton = new Singleton _lazy();  
  13. }  
  14. return uniSingleton;  
  15. }  
  16. }  
  17. }  

C#使用Singleton模式的實現(xiàn)有兩個技巧:一是使用靜態(tài)成員變量保存“全局”的實例,確保了唯一性,使用靜態(tài)的成員方法instance() 代替 new關鍵字來獲取該類的實例,達到全局可見的效果。二是將構造方法設置成為private,如果使用new關鍵字創(chuàng)建類的實例,則編譯報錯,以防編程時候筆誤。

【編輯推薦】

  1. C#窗體里調用淺談
  2. C#調用ListEmployee命令
  3. C# CreateEmployeeDefinition()函數(shù)
  4. C#實現(xiàn)斷點續(xù)傳詳細剖析
  5. C# Employee對象淺談
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-25 18:04:30

C#實現(xiàn)Singlet

2009-08-31 15:48:02

C# Singleto

2009-09-02 16:23:27

C# Singleto

2009-08-10 17:41:42

C# Singleto

2025-06-10 09:07:32

Go模式開發(fā)

2021-01-18 05:18:18

C# 8模式C# 7

2009-08-26 10:24:04

C# Observer

2009-07-09 17:30:59

Singleton模式C++ SingletJava Single

2009-07-08 17:25:05

Java Single

2009-08-26 16:26:37

C#迭代器模式

2009-08-11 13:59:41

迭代器模式C# Iterator

2009-08-04 09:22:26

C#工廠模式

2011-07-18 16:51:51

Cocoa 單態(tài) 模式

2012-08-22 10:10:25

單態(tài)單態(tài)設計設計模式

2009-08-07 14:34:33

C#模式字符串

2009-09-07 05:10:52

C#模式窗體

2009-09-07 04:56:52

C#模式窗體

2009-08-31 16:01:31

C#和設計模式

2009-08-20 17:30:56

C#異步編程模式

2009-08-19 14:26:58

C# JavaScri
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚州av在线 | 欧洲一区二区三区 | 久久久久国产一区二区三区四区 | 国产精品久久久久久久久久东京 | 国产精品日韩一区 | 欧美精品第一区 | 在线一区二区三区 | 黄色国产在线播放 | 国产第二页 | 精品国产一二三区 | 在线日韩| 日韩av免费在线电影 | 欧美日韩最新 | 日韩av一区二区在线观看 | 国产aⅴ爽av久久久久久久 | 黄色一级免费观看 | 日本精品视频一区二区 | 免费毛片网站在线观看 | 美女在线视频一区二区三区 | 国产真实精品久久二三区 | 久久精品久久精品久久精品 | 97伦理电影 | 天天操妹子 | 亚洲一区免费 | 亚洲欧美中文日韩在线 | 欧美日韩国产欧美 | 久草在线 | 精品中文字幕在线 | 亚洲一区视频 | 91精品国产综合久久久久久丝袜 | 亚欧洲精品在线视频免费观看 | 久久久av中文字幕 | 黄色大片网站 | 久久成人精品视频 | 久久久久久国产精品久久 | 一级片在线观看 | 精品国产欧美在线 | 人人鲁人人莫人人爱精品 | 亚洲精品1| 久久99精品久久久 | 特级黄一级播放 |