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

C#使用Singleton模式

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

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

C#使用Singleton模式

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

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

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

Singleton的實現方式

首先看看教科書方式的Singleton標準實現的兩種方法,以下用的是類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模式的實現有兩個技巧:一是使用靜態成員變量保存“全局”的實例,確保了唯一性,使用靜態的成員方法instance() 代替 new關鍵字來獲取該類的實例,達到全局可見的效果。二是將構造方法設置成為private,如果使用new關鍵字創建類的實例,則編譯報錯,以防編程時候筆誤。

【編輯推薦】

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

2009-08-25 18:04:30

C#實現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

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 單態 模式

2012-08-22 10:10:25

單態單態設計設計模式

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

2009-08-20 13:23:28

C#使用Crystal
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产综合久久香蕉麻豆 | 日韩在线国产精品 | 亚洲国产成人精品久久久国产成人一区 | 国产伊人精品 | 欧美一区二区三区在线观看 | 亚洲精选一区二区 | 天堂色区 | 久久小视频 | 久久草在线视频 | 伊人中文字幕 | 亚洲视频一区在线观看 | 久久久蜜臀国产一区二区 | 性在线| 成人午夜影院 | 蜜桃视频一区二区三区 | 精品视频一区二区在线观看 | 日本成人二区 | 日韩欧美在线观看视频 | 成年女人免费v片 | www.9191| 爱操影视 | 国产精品视频久久 | 精品免费国产一区二区三区四区介绍 | 午夜影视免费片在线观看 | 日本在线播放一区二区 | 91视频麻豆| www.男人天堂.com| 日本国产一区二区 | 成人免费视频7777777 | 色婷婷精品久久二区二区蜜臂av | 在线观看中文字幕 | 亚洲欧美综合 | 欧美伊人影院 | 国产激情视频在线 | 中文字幕av中文字幕 | 91欧美| 国产精品成人69xxx免费视频 | 国产精品美女久久久久久免费 | 中文字幕精品一区二区三区精品 | 99久久99热这里只有精品 | 亚洲九九色 |