c#單例模式 兩種實現方式
阿新 • • 發佈:2019-02-15
//單例模式一,本模式具有多執行緒不安全性,可通過多執行緒鎖來實現功能
public class Class1
{
//(1)將建構函式定義為private
private Class1()
{
}
//(2)建立靜態例項
public static Class1 classInstance = null;
//(3)建立靜態方法,通過該方法實現單例
public static Class1 GetClass1()
{
if (classInstance==null)
{
return classInstance = new Class1();
}
else
{
return classInstance;
}
}
}
//單例模式二
public class model2
{
//第一步:構建私有建構函式,本模式具有多執行緒安全性
private model2()
{
}
//第二步:建立只讀欄位,保證只有一個例項
private static readonly model2 modelInstance = new model2();
//第三步:實現呼叫函式
public static model2 GetInstance()
{
return modelInstance;
}
}