← 筆記

設計模式筆記 - 單例模式

分類

  • 創建型

模式的目的(定義)

  • 讓一個類管理自己的唯一實例,避免其他類創建自己的實例,並對外提供一個全局訪問點

使用場景例子

  • 某些對象,在整個遊戲裡面只有一個,如果出現了多個的話可能會導致一些奇怪的問題出現的時候,這個對象就可以應用上單例模式
    • 比如玩家的控制器、遊戲流程的控制器等等

類圖

示例代碼

  • 延遲實例化單例

    •   public class Singleton{    private static Singleton instance;    private Singleton(){}    public static Singleton GetInstance(){        if(instance == null){            instance = new Singleton();        }        return instance;    }}
  • 急切實例化單例

    •   public class Singleton{    private static Singleton instance = new Singleton();    private Singleton(){}    public static Singleton GetInstance(){        return instance;    }}

參考書目

  • 《Head First Design Patterns》Eric Freeman, Elisabeth Robson, Kathy Sierra, Bert Bates