遊戲開發中單例模式的優缺點

單例模式

優點

  • 在編譯期確保一個類只有一個實例;

  • 提供一個全局訪問的入口;

在例子fileSystem中,甚至可以通過繼承來實現不同遊戲平臺的邏輯封裝

缺點

  • 它是一個全局變量
    • 使代碼晦澀、促進了耦合、對併發不友好;
  • 它必須同時解決兩個問題(全局訪問、一個實例)
    • 如果只想解決一個問題時,另一個功能就是枷鎖;
  • 延遲初始化剝離了控制

替換方案

  • 將類限定爲單一實例
    • 斷言
  • 爲實例提供便捷的方位方式
    • 作爲參數傳遞
    • 在基類中獲取
    • 通過其他全局對象方位

參考

  • 《遊戲編程模式》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章