有時候,需要一個類只能被實例化一次,例如設備中只有一個運動控制卡。這時,可以使用設計模式中的單例模式
,確保一個類只有一個實例,並提供一個訪問它的全局訪問點。
// 單例模式的實現
public class Singleton
{
// 定義一個靜態變量來保存類的實例
private static Singleton uniqueInstance;
// 定義私有構造函數,使外界不能創建該類實例
private Singleton()
{
}
// 定義公有方法提供一個全局訪問點,同時你也可以定義公有屬性來提供全局訪問點
public static Singleton GetInstance()
{
// 如果類的實例不存在則創建,否則直接返回
if (uniqueInstance == null)
{
uniqueInstance = new Singleton();
}
return uniqueInstance;
}
}