關于單例模式的一些問題
c#中的單例模式
單例模式是指在設計一個類時,保證在運行期間只有一個實體物件,因為過多相同的實體物件會占用記憶體空間,
##舉個例子

1.宣告一個靜態的Class1類的變數來參考唯一的物件,
2.創造私有的無參構造方法,使外部無法呼叫這個類的構造方法,
3.創建靜態的方法,創建此類唯一的物件,
4.通過TempClass1 = new Class1();呼叫私有構造方法創建該實體,
#單例模式的一些特點
1.在類的內部創建一個該類的實體物件,并使用靜態變數TempClass1參考該物件,田于變數應該禁止外界直接訪問,因此使用private修飾,宣告為私有成員,
2.類的構造方法使用 private修飾,宣告為私有,這樣就不能在類的外部使用new關鍵字來創建實體物件,
3.為了 在類的外部能夠獲得類的實體物件,需要定義一個靜態方法Class1Method(),用于回傳該類實體TempClass1,
證明Class1只有一個實體物件


也就是說這兩個變數是同時指向同一個物件的,
具體代碼
private static Class1 TempClass1;
private Class1() { }
public static Class1 Class1Method()
{
if (TempClass1 == null)
{
TempClass1 = new Class1();
}
return TempClass1;
}
Class1 c1 = Class1.Class1Method();
Class1 c2 = Class1.Class1Method();
if(c1==c2)
{
Console.WriteLine("c1和c2的存盤地址相同");
}
Console.ReadKey();

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/209337.html
標籤:其他
