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

設計模式 (C#) 實戰:策略模式 — XMLMessage 與 Context 實作詳解 (下)

     編輯:關於C語言

XMLMessage — 具體策略類別


public class XMLMessage : IMessageStrategy
{
    public List Get()
    {
        return new List { new MessageModel("XML方式獲取Message", DateTime.Now) };
    }
    public bool Insert(MessageModel mm) => true; // 略
}

Message — Context 角色

構造函數注入具體策略,委派操作:


public class Message
{
    private IMessageStrategy _strategy;
    public Message(IMessageStrategy strategy) { _strategy = strategy; }

    public List Get() => _strategy.Get();
    public bool Insert(MessageModel mm) => _strategy.Insert(mm);
}

策略模式核心優勢

  • 演算法封裝:SQL/XML 持久化邏輯各自封裝在獨立類別
  • 可互換:客戶端決定使用哪個策略 (new Message(new SqlMessage()) 或 new XMLMessage())
  • 開放封閉:新增持久化方式 (如 JSON、Redis) 僅需實作 IMessageStrategy,零修改 Context
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved