国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - .Net 單例模式(Singleton)

.Net 單例模式(Singleton)

2019-11-13 11:27asp.net教程網 ASP.NET教程

單例模式的意思就是只有一個實例。單例模式確保某一個類只有一個實例,而且自行實例化并向整個系統提供這個實例。這個類稱為單例類

每臺計算機可以有若干個打印機,但只能有一個Printer Spooler, 以避免兩個打印作業同時輸出到打印機中。每臺計算機可以有若干傳真卡,但是只應該有一個軟件負責管理傳真卡,以避免出現兩份傳真作業同時傳到傳真卡中的情況。每臺計算機可以有若干通信端口,系統應當集中管理這些通信端口,以避免一個通信端口同時被兩個請求同時調用。

問題描述:

單例模式 Singleton Pattern

問題解決:

(1)單例模式簡介:

Singleton模式要求一個類有且僅有一個實例,并且提供了一個全局的訪問點。這就提出了一個問題:如何繞過常規的構造器,提供一種機制來保證一個類只有一個實例?客戶程序在調用某一個類時,它是不會考慮這個類是否只能有一個實例等問題的,所以,這應該是類設計者的責任,而不是類使用者的責任。

單例模式特點:

(1.1)一個類有且僅有一個實例

(1.2)類提供一個全局的訪問點

(2)單例模式的實現:

(2.1)簡單實現:

.Net 單例模式(Singleton)

上述實現的優點:

(1)直到對象要求時,才進行實例的初始化,這種實現方法稱為:“惰性實例化”,惰性實例化,避免了程序啟動時創建不必要的Singleton。

上述實現的缺點:

(1)這種實現對于多線程環境并不安全,可能實例化多個對象,例如可能存在兩個線程進行instance==null的判斷,然后創建兩個單例對象,這就違背了單例模式的設計意圖。

(2.2)安全的線程:

.Net 單例模式(Singleton)

以上的實現保證了單例對象在多線程的情況下只會創建一個,但是padlock增加了額外的開銷

(2.3)雙重鎖定

.Net 單例模式(Singleton)

這種實現方式對多線程來說是安全的,同時線程不是每次都加鎖,只有判斷對象實例沒有被創建時它才加鎖,有了我們上面第一部分的里面的分析,我們知道,加鎖后還得再進行對象是否已被創建的判斷。它解決了線程并發問題,同時避免在獲取 Instance 的調用中都出現獨占鎖定。它還允許您將實例化延遲到第一次訪問對象時發生。實際上,應用程序很少需要這種類型的實現。大多數情況下我們會用靜態初始化。這種方式仍然有很多缺點:無法實現延遲初始化。

(2.4)靜態初始化

.Net 單例模式(Singleton)

此實現中,將在第一次引用類的任何成員創建實例,該類標記為 sealed 以阻止發生派生,而派生可能會增加實例。此外,變量標記為 readonly,這意味著只能在靜態初始化期間(此處顯示的示例)或在類構造函數中分配變量。它仍然可以用來解決 Singleton 模式試圖解決的兩個基本問題:全局訪問和實例化控制。公共靜態屬性為訪問實例提供了一個全局訪問點。此外,由于構造函數是私有的,因此不能在類本身以外實例化 Singleton 類;因此,變量引用的是可以在系統中存在的唯一的實例。

由于 Singleton 實例被私有靜態成員變量引用,因此在類首次被對 Instance 屬性的調用所引用之前,不會發生實例化。這種方法唯一的潛在缺點是,您對實例化機制的控制權較少。在 Design Patterns 形式中,您能夠在實例化之前使用非默認的構造函數或執行其他任務。由于在此解決方案中由 .NET Framework 負責執行初始化,因此您沒有這些選項。在大多數情況下,靜態初始化是在 .NET 中實現 Singleton 的首選方法。

(2.5)延遲初始化:

.Net 單例模式(Singleton)

(3)單例模式的優缺點:

.Net 單例模式(Singleton)

(4)單例模式適用情況和應用場景:

.Net 單例模式(Singleton)

(5)具體實例:

總結:

Singleton設計模式是一個非常有用的機制,可用于在面向對象的應用程序中提供單個訪問點。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 一级片在线播放 | 亚洲免费视频在线观看 | 精品免费视频 | 99精品在线观看 | 欧美激情一区 | 日韩精品免费在线观看 | 欧美精品亚洲 | 欧美日韩在线一区二区 | 黄色美女网站 | 午夜色电影 | 二区影院 | 久久成人av | 可以免费看黄的网站 | 日韩国伦理久久一区 | 亚洲成人av一区二区三区 | 国产色视频 | 国产成人精品综合 | 综合色综合 | 日韩国产欧美一区 | 最近韩国日本免费高清观看 | 国产无套丰满白嫩对白 | 日本视频一区二区三区 | 99精品一区二区三区 | 午夜精品久久久久久久男人的天堂 | 国产精品国产三级国产aⅴ9色 | 久久综合av | 一区二区国产精品 | 亚洲视频免费观看 | 日韩在线国产精品 | 久久精品成人免费视频 | 亚洲污视频 | 亚洲www视频| 成人精品久久久 | 在线免费视频一区二区 | 国产精品免费一区二区三区四区 | 色站综合 | 欧美激情精品久久久久久变态 | 国产色秀视频在线观看 | 日韩二区 | 欧美日韩精品一区二区在线播放 | 大白屁股一区二区视频 |