C# 設計模式實戰:Strategy 策略模式完整解析(一)
模式意圖 定義一系列演算法,分別封裝並使其可互換,讓演算法可獨立於使用它的 Client 而變化。 應用場景:新聞顯示策略切換 新聞列表頁:顯示所有新
C# 設計模式實戰:Composite 組合模式完整解析(一)
模式意圖 將物件組合成樹形結構以表示「部分-整體」層次,使 Client 對單一物件與組合物件具有一致性使用方式。 應用場景:遊戲伺服器管理工具 多大
C# 設計模式實戰:Composite 組合模式完整解析(二)
程式碼執行結果 代碼角色說明 Element:Component(抽象構件),定義統一介面:Add/Remove/Display/Start/Stop
C# 設計模式實戰:Flyweight 享元模式完整解析(一)
模式意圖 運用共享技術有效支援大量細粒度物件。 應用場景:遊戲模型資料共享 底層系統/框架常存在大量細粒度物件。遊戲中無數位置使用模型資料,數量雖多但
C# 設計模式實戰:Flyweight 享元模式完整解析(二)
程式碼執行結果 使用享元模式: 未使用享元模式: 代碼角色說明 ModelFactory:Flyweight Factory,單例模式管理享元池,H
C# 設計模式實戰:Proxy 代理模式完整解析(二)
代碼角色說明 IAccount:Subject(抽象主題),Proxy 與 RealSubject 共同實作 AccountProxy:Proxy(代
C# 設計模式實戰:Facade 外觀模式完整解析(一)
模式意圖 為子系統中的一組介面提供一致介面,定義高層介面使子系統更易使用。 應用場景:遊戲充值網站建單流程 建立訂單需串接三個外部系統: 用戶系
C# 設計模式實戰:Facade 外觀模式完整解析(二)
代碼角色說明 PayFacade:Facade,提供高層 CreateOrder 介面,內部協調三個子系統 AccountSystem / CardS
C# 設計模式實戰:Adapter 適配器模式完整解析(一)
模式意圖 將一個類別的介面轉換成 Client 期望的另一介面,使原本介面不匹配的兩個類別能協同工作。 應用場景:遊戲大廳整合新遊戲 Client 端
C# 設計模式實戰:Adapter 適配器模式完整解析(二)
程式碼執行結果 代碼角色對應 IGame:Target(目標介面),Client 期望的介面 Lobby:Client,原代碼 IGame gam
C# 設計模式實戰:Builder 建造者模式完整解析(一)
模式意圖 將複雜物件的建構與其表示分離,使相同建構過程可建立不同表示。 應用場景:電腦城組裝流程 客戶進店 → 業務詢問需求 → 形成配置單 → 提貨
C# 設計模式實戰:Builder 建造者模式完整解析(二)
完整實作代碼:電腦組裝案例 computer.Videocard = 七彩虹 GT-GD3 UP 烈焰戰神 H10 (GeForce 8600GT/256M/
C# 設計模式實戰:Prototype 原型模式完整解析(一)
模式意圖 用原型實例指定建立物件的種類,並透過拷貝這些原型建立新物件。 應用場景:遊戲敵人群組生成 場景中大量相似敵人(相同技能、模型),唯位置與能力
C# 設計模式實戰:Prototype 原型模式完整解析(二)
程式碼執行結果 代碼角色說明 Enemy:抽象原型,定義共同屬性與 Clone() 介面 FootMan:具體原型,實作具體參數與克隆邏輯 G
C# 設計模式實戰:Prototype 原型模式完整解析(三)
採用時機 代碼層面:執行期指定具體類別、避免昂貴初始化過程、避免使用工廠方法實現多型 應用層面:產品多變化/多等級、建立過程極耗時(計算量大、需從網路
C# 設計模式實戰:Factory Method 工廠方法模式完整解析(一)
模式意圖 定義一個建立產品物件的工廠介面,將實際建立工作延遲到子類別中。 應用場景:遊戲場景物件建立 承接抽象工廠範例:場景類別不僅建立 Model/
C# 設計模式實戰:Factory Method 工廠方法模式完整解析(二)
程式碼執行結果 代碼架構說明 基於抽象工廠範例演進,融合三大模式: PatrixSceneFactory:工廠方法中的抽象工廠角色 = 抽象工廠中的具
C# 設計模式實戰:Builder 建造者模式完整解析(四)
採用時機 代碼層面:需分離複雜物件的建構規則與內部組成,或相同建構流程產出不同類型 應用層面:解耦產品建立過程與具體組件,復用穩定複雜的建構邏輯