單例模式:
保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。
適用於:當類只能有一個實例,而且客戶可以從一個明顯的訪問點訪問它時,當這個唯一實例應該是通過子類化可擴展的,並且客戶應該無需修改代碼就能使用一個擴展實例時,
//Singleton類通過定義一個私有變量uniqueInstance來記錄單例類的唯一實例;私有方法Singleton()來防
//止外界使用nwe關鍵字來創建該類的實例;公有的方法GetInstance()來提供一個該類實例的唯一全局訪問點。
public dass Singleton
{
//私有變量uniqueInstance來記錄Singleton的唯一實例
private static Singleton uniqueInstance;
//私有的構造函數
private Singleton()
{
}
//定義公有的方法GetInstance()來提供該類的唯一全局訪問點
public static Singleton GetInstance()
{
//如果實例不存在,則New一個新的實例,否則返回已有實例
if(uniqueInstace==null)
{
uniqueInstance=new Singleton();
}
return uniqueInstance;
}
}
單例模式之所以存在,就好比在我們的操作系統中某個對象只需要一個實例的情況下,例如:操作系統中只能有一個任務管理器,操作文件時,同一個時間內只允許一個實例對其操作,在現實生活中也有這樣的應用場景,所以在軟件設計方面也需要存在單例模式!