C#基礎:單例設計模式
阿新 • • 發佈:2018-12-26
單例模式就是保證在整個應用程式的生命週期中,在任何時刻,被指定的類只有一個例項,併為客戶程式提供一個獲取該例項的全域性訪問點
- public class SingleTon
- {
- public string name;
- //1.構造方法必須私有化
- private SingleTon ()
- {
- }
- //2.定義靜態例項
- private static SingleTon instance;
- //3.靜態建構函式中對靜態例項進行初始化
- static SingleTon(){
- instance = new SingleTon ();
- }
- //4.對外提供獲取該例項的介面
- public static SingleTon Instance{
- get{
- if (instance == null) {
- instance = new SingleTon ();
- }
- return instance;
- }
- }
- }
1.該Singleton的建構函式必須是私有的,以保證客戶程式不會通過new()操作產生一個例項,達到實現單例的目的;
2.因為靜態變數的生命週期跟整個應用程式的生命週期是一樣的,所以可以定義一個私有的靜態全域性變數instance來儲存該類的唯一例項;
3.必須提供一個全域性函式訪問獲得該例項,並且在該函式提供控制例項數量的功能,即通過if語句判斷instance是否已被例項化,如果沒有則可以同new()建立一個例項;否則,直接向客戶返回一個例項。