
單例模式(Singleton)
概念
單例模式是一種建立型模式,應用此模式時需要讓物件在程式中只有一個實例。
在工控程式設計中常有外部硬體資訊需要控制,為了確保控制硬體的物件不會被重複新建造成錯亂,單例是很實用的模式。
為什麼不直接用靜態類別(static class)就好?靜態類別雖然也是在程式中唯一的實例,但差別是單例模式基礎還是類別,所以可以被繼承以及作為參數傳遞。
範例
//**************
//* author: cian
//* 20231002
//**************
/* Singleton範例 */
public class Singleton
{
private static Singleton INSTANCE = new Singleton(); /*單例*/
private Singleton() {}; /*隱藏建構式*/
public static Singleton GetInstance()
{
return INSTANCE; /*單例*/
}
}
/* 實際應用 */
Singleton mySingleton = Singleton.GetInstance();
結語
如果系統中有唯一一份的全域變數,單例是一種很好用的模式,但如果任何東西都往內扔,會導致權責不明,反而不容易查錯。
以上為學習過程的問題紀錄
如果文章有誤,歡迎前輩留言請不吝指教。
發佈留言