設計模式(C#):訪問者模式(一)── 概念介紹與範例架構
模式定義 訪問者模式將作用於物件結構中各元素的操作分離出來,定義為獨立的訪問者類別。使你可以在不變更元素類別的前提下,新增作用於這些元素的新操作。 本系列範例
設計模式(C#):訪問者模式(二)── 實體類別與抽象元素
MessageModel 實體類別 namespace Pattern.Visitor { public class MessageModel
設計模式 (C#) 實戰:訪問者模式 — 完整測試與運行結果驗證 (下)
Messages — 對象結構角色 public class Messages { private List _list = new List _li
設計模式 (C#) 實戰:模板方法模式 — 核心概念與實體類定義 (上)
模式意圖:定義算法骨架,將特定步驟延遲到子類。模板方法使子類在不改變算法結構下重新定義特定步驟。 應用場景:Message 有 Get() 操作,每次調用前必
設計模式 (C#) 實戰:模板方法模式 — 抽象模板與驗證邏輯實作 (中)
AbstractMessageTemplate — 抽象模板基類 public abstract class AbstractMessageTemplate
設計模式 (C#) 實戰:模板方法模式 — SqlMessage 與 XMLMessage 具體實作 (下)
SqlMessage — 具體實作 public class SqlMessage : AbstractMessageTemplate { publi
設計模式 (C#) 實戰:策略模式 — 核心概念與實體類定義 (上)
模式意圖:定義一系列演算法,逐個封裝並使其可互換。演算法變化獨立於使用它的客戶端。 應用場景:Message 實體有 Insert()/Get() 操作,持久
設計模式 (C#) 實戰:策略模式 — 策略介面與 SqlMessage 實作詳解 (中)
IMessageStrategy — 策略介面 public interface IMessageStrategy { List Get();
設計模式 (C#) 實戰:策略模式 — XMLMessage 與 Context 實作詳解 (下)
XMLMessage — 具體策略類別 public class XMLMessage : IMessageStrategy { public Lis
設計模式 (C#) 實戰:狀態模式 — 實體類與抽象狀態基類定義 (中)
MessageModel — 實體類別 _publishTime = value; } } AbstractMessageState — 抽象狀態基類
設計模式 (C#) 實戰:狀態模式 — XMLMessage 具體狀態與狀態切換邏輯 (中上)
XMLMessage — 具體狀態類別 public class XMLMessage : AbstractMessageState { public
設計模式 (C#) 實戰:狀態模式 — SqlMessage 與 Context (Message) 實作詳解 (中下)
SqlMessage — 具體狀態類別 public class SqlMessage : AbstractMessageState { public
設計模式 (C#) 實戰:狀態模式 — 客戶端測試與運行結果驗證 (下)
客戶端測試代碼 public partial class State : System.Web.UI.Page { protected void Pa
設計模式 (C#) 實戰:備忘錄模式 — 核心概念與 Memento 類別定義 (上)
模式意圖:在不破壞封裝性前提下,捕獲對象內部狀態並在對象外部保存,以便日後恢復至該狀態。 應用場景:Message 實體類有 Insert() 操作,僅在時間
設計模式 (C#) 實戰:備忘錄模式 — Caretaker 與 Originator 實作詳解 (中)
MessageModelCaretaker — 管理者角色 負責保存備忘錄對象,不檢查內容: _messageModel = value; } }
設計模式 (C#) 實戰:備忘錄模式 — 狀態保存與恢復完整範例 (下)
承接前兩篇結構定義,本文展示客戶端測試代碼與運行結果,驗證「插入失敗 → 恢復狀態 → 更新時間 → 重試」完整流程。 測試代碼 (ASP.NET WebFo
C# 設計模式:中介者模式介紹與架構圖解 (1/5)
中介者模式 (Mediator Pattern) 核心概念 定義:用一個中介物件來封裝一系列的物件交互。中介者使各物件不需要顯式地相互引用,從而使其耦合鬆散,而