首頁 » 設計模式 » 單例模式(Singleton)

單例模式(Singleton)

作者:

分類:

單例模式(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();

結語

如果系統中有唯一一份的全域變數,單例是一種很好用的模式,但如果任何東西都往內扔,會導致權責不明,反而不容易查錯。

以上為學習過程的問題紀錄
如果文章有誤,歡迎前輩留言請不吝指教。

「cian」的個人頭像

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *