C# 設計模式無廢話系列二十二:GOF 23 種模式總結對照表
本文配套原始碼下載 設計模式綜合比較表 設計模式 常用程度 適用層次 引入時機 結構複雜度 Abstract Factory較常用應用級設計時較複
C# 設計模式無廢話系列二十一:訪問者模式(一)—— 意圖、場景與完整實作
意圖 實現透過統一介面訪問不同類型元素的操作,並可在此介面增加新操作而不修改元素類別。 場景動機 承接組合模式範例(遊戲大區、伺服器、服務的樹狀結構)。組合模
C# 設計模式無廢話系列二十一:訪問者模式(三)—— 適用場景與實現考量
何時採用訪問者模式 適用以下情況: 對象結構包含許多類型,缺乏統一介面,但希望操作統一。 需為對象結構中的類型新增操作,且不想修改原有代碼。 結構
C# 設計模式無廢話系列二十:中介者模式(一)—— 意圖與問題場景
意圖 用一個中介對象封裝一系列對象的交互,使各對象不需顯式相互引用,從而鬆散耦合,且可獨立改變它們之間的交互。 問題場景 網絡遊戲常有多個大區(每區一組或多組
C# 設計模式無廢話系列二十:中介者模式(二)—— 通訊流程與完整程式碼
引入 AccountSystem 後的通訊流程 網站呼叫 AccountSystem 註冊方法 AccountSystem 呼叫 A、B、C 大區註冊
C# 設計模式無廢話系列二十:中介者模式(三)—— 執行結果與模式比較
代碼執行結果 代碼結構說明 AccountSystem(中介者):統籌同事類互動,內部維護同事物件列表。註冊、儲值、消費方法會遍歷相關同事呼叫其專屬方
C# 設計模式無廢話系列十九:觀察者模式(一)—— 意圖與場景引入
意圖 定義對象間一對多依賴關係,當一個對象狀態改變時,所有依賴它的對象都能得到通知並自動更新。 場景引入 假設需在網頁分頁顯示資料。初期需求簡單:兩個按鈕(上
C# 設計模式無廢話系列十九:觀察者模式(三)—— 代碼執行解析與擴充性展示
代碼執行結果 代碼深度解析 本例採用 C# 事件機制實作觀察者模式,雖與 GOF「標準」模式不同,但保留核心角色。GOF 模式歷史悠久,善用 C# 語
C# 設計模式無廢話系列十九:觀察者模式(二)—— 完整範例程式碼
完整範例程式碼 using System; using System.Collections.Generic; using System.Text; name
C# 設計模式無廢話系列十九:觀察者模式(四)—— 實現要點與注意事項
實現要點 抽象主體公開事件:可供任意觀察者訂閱。 抽象觀察者定義統一處理行為:C# 事件-委派模式下此介面非必要,有時反而限制靈活性。本例因特殊原因未
C# 設計模式無廢話系列十八:命令模式(三)—— 適用場景與實現精要
代碼執行結果 代碼結構說明 範例僅示範防止請求過頻的控制,未處理客戶端與服務端通訊細節,實際專案中需完善。 Man 類別(接收者):負責具體執行請
C# 設計模式無廢話系列十七:責任鏈模式(二)—— 完整原始碼實作
完整範例程式碼 using System; using System.Collections.Generic; using System.Text; name
C# 設計模式無廢話系列十七:責任鏈模式(三)—— 代碼實戰與執行分析
代碼執行結果 以下為程式執行截圖(第二張為註解掉 InitGM() 中初始化 managerTeam 代碼後的結果): 代碼結構說明 Case 類別
C# 設計模式無廢話系列十七:責任鏈模式(四)—— 適用場景與實現要點
何時採用責任鏈模式 從代碼角度來看,當一個邏輯的處理由不同責任對象完成,而客戶端希望能自定義這個處理流程,且不想直接與多個責任對象產生耦合時,可考慮使用責任鏈模
C# 設計模式實戰:State 狀態模式完整解析(一)
模式意圖 允許物件在內部狀態改變時改變行為,物件彷彿修改了它的類別。 應用場景:網路書店會員等級系統 用戶消費達標升級:普通 → 銀 → 金 → 鑽,
C# 設計模式實戰:State 狀態模式完整解析(二)
程式碼執行結果 代碼角色說明 User:Context(環境),定義 Client 關心方法 BuyBook,持有狀態實例 UserLevel:S
C# 設計模式實戰:Strategy 策略模式完整解析(二)
程式碼執行結果 代碼角色詳細說明 Data:Context(環境/上下文),持有策略參考,提供 SetShowDataStrategy 切換 Sh
C# 設計模式實戰:Template Method 模板方法模式完整解析(二)
程式碼執行結果 代碼角色說明 PayGateway:AbstractTemplate(抽象模板),定義支付流程不變骨架,SubmitOrder 為模板