如何用 C# 實現單例設計模式?
單例模式屬於建立型模式
當我們需要確保特定類的物件僅被例項化一次時,使用單例設計模式。建立的單個例項負責協調整個應用程式中的操作。
作為實現準則的一部分,我們需要確保類只有一個例項,方法是將類的所有建構函式宣告為私有的。此外,為了控制單例訪問,我們需要提供一個靜態屬性,該屬性返回物件的單個例項。
示例
Sealed 確保類的繼承和物件例項化在派生類中受到限制
用 null 初始化的私有屬性
確保僅建立物件的一個例項
基於 null 條件
私有建構函式確保物件沒有在類本身之外例項化
可透過單例例項呼叫的公共方法
public sealed class Singleton {
private static int counter = 0;
private static Singleton instance = null;
public static Singleton GetInstance {
get {
if (instance == null)
instance = new Singleton();
return instance;
}
}
private Singleton() {
counter++;
Console.WriteLine("Counter Value " + counter.ToString());
}
public void PrintDetails(string message) {
Console.WriteLine(message);
}
}
class Program {
static void Main() {
Singleton fromFacebook = Singleton.GetInstance;
fromFacebook.PrintDetails("From Facebook");
Singleton fromTwitter = Singleton.GetInstance;
fromTwitter.PrintDetails("From Twitter");
Console.ReadLine();
}
}輸出
Counter Value 1 From Facebook From Twitter
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP