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

C# 設計模式:責任鏈模式基礎實體與 SQL 執行類別 (2/5)

     編輯:關於C語言

資料實體:MessageModel

責任鏈中傳遞的請求資料:

using System;
using System.Collections.Generic;
using System.Text;

namespace Pattern.ChainOfResponsibility
{
    /// 
    /// Message 實體類別
    /// 
    public class MessageModel
    {
        /// 
        /// 建構函式
        /// 
        /// Message 內容
        /// Message 發布時間
        public MessageModel(string msg, DateTime pt)
        {
            this._message = msg;
            this._publishTime = pt;
        }

        private string _message;
        /// 
        /// Message 內容
        /// 
        public string Message
        {
            get { return _message; }
            set { _message = value; }
        }

        private DateTime _publishTime;
        /// 
        /// Message 發布時間
        /// 
        public DateTime PublishTime
        {
            get { return _publishTime; }
            set { _publishTime = value; }
        }
    }
}

實際執行類別:SqlMessage

處理者鏈末端委派的真實資料操作類別:

using System;
using System.Collections.Generic;
using System.Text;

namespace Pattern.ChainOfResponsibility
{
    /// 
    /// Sql 方式操作 Message
    /// 
    public class SqlMessage
    {
        /// 
        /// 插入 Message
        /// 
        /// Message 實體物件
        /// 是否成功
        public bool Insert(MessageModel mm)
        {
            // 程式碼略
            return true;
        }
    }
}

角色分工說明

  • MessageModel:請求封裝,攜帶訊息內容與時間等業務資料。
  • AbstractExecutor/Employee/Leader/Manager:責任鏈處理者,負責業務規則判斷(長度閾值)與鏈結傳遞。
  • SqlMessage:真實執行者,封裝底層資料庫操作,處理者鏈只負責路由決策。

責任鏈模式四大角色對應

下一篇將實作抽象處理者與員工處理者,展示鏈頭邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
模式角色本例類別說明
HandlerAbstractExecutor抽象處理者,定義介面與後繼者引用
ConcreteHandlerEmployee, Leader, Manager具體處理者,實作判斷邏輯
Client測試頁面建立鏈結並發起請求
RequestMessageModel請求資料封裝