首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 設計模式實戰:Singleton 單例模式完整解析(二)

     編輯:關於C語言

程式碼執行結果

單例模式執行結果

代碼角色說明

  • LoadBalanceServer:單例類別,確保全程序僅一個實例,負責伺服器負載分配
  • LobbyServer:大廳伺服器,管理玩家列表
  • 雙重檢查鎖定:執行緒安全的單例實作方式(C# 也可用靜態初始化更簡潔)
  • GetLobbyServer():回傳負載最低的大廳伺服器
  • Thread.Sleep(100):模擬高併發下的建構延遲,驗證單例安全性

採用時機

  • 代碼層面:類別在邏輯上只能存在單一實例
  • 應用層面:需要統一協調者管理資源分配(如流水號產生器、設定管理器、連線池)

實現要點

  • 私有建構函式防止外部實例化
  • 靜態唯一實例欄位 + 公開靜態存取方法
  • 多執行緒環境下的同步機制(雙重鎖定 / 靜態初始化 / Lazy<T>)

注意事項

切勿濫用單例:僅在「非單一實例不可」的情況下引入。濫用會限制擴展性、增加測試難度、隱藏依賴關係。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved