責任鏈中傳遞的請求資料:
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; }
}
}
}
處理者鏈末端委派的真實資料操作類別:
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;
}
}
}
| 模式角色 | 本例類別 | 說明 |
|---|---|---|
| Handler | AbstractExecutor | 抽象處理者,定義介面與後繼者引用 |
| ConcreteHandler | Employee, Leader, Manager | 具體處理者,實作判斷邏輯 |
| Client | 測試頁面 | 建立鏈結並發起請求 |
| Request | MessageModel | 請求資料封裝 |