什么是靜態(tài)單例模式?
靜態(tài)單例模式(Static Singleton Pattern)是我在實(shí)踐中總結(jié)的模式,主要解決的問題是在預(yù)先知道某依賴項(xiàng)為單例應(yīng)用時(shí),通過靜態(tài)緩存該依賴項(xiàng)來提供訪問。當(dāng)然,解決該問題的辦法有很多,這只是其中一個(gè)。
實(shí)現(xiàn)細(xì)節(jié)
/// <summary>
/// 獲取單例實(shí)例
/// </summary>
public static TClass GetInstance()
{
return Instance;
}
/// <summary>
/// 單例實(shí)例
/// </summary>
public static TClass Instance
{
get
{
if (_instance == null)
{
lock (_lock)
{
if (_instance == null)
{
_instance = new TClass(); // must be public constructor
}
}
}
return _instance;
}
}
/// <summary>
/// 設(shè)置單例實(shí)例
/// </summary>
/// <param name="instance">單例實(shí)例</param>
public static void Set(TClass instance)
{
lock (_lock)
{
_instance = instance;
}
}
/// <summary>
/// 重置單例實(shí)例
/// </summary>
public static void Reset()
{
lock (_lock)
{
_instance = default(TClass);
}
}
}
Console.ReadKey();
}
}
新聞熱點(diǎn)
疑難解答
圖片精選