定義:將一個請求封裝為一個物件,從而使你可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支援可取消的操作。
有一個 MessageModel 實體類別,某個類別對它的操作有 Insert() 和 Delete() 方法。現在要求可以對之前的所有操作做撤銷和重複。
命令參數封裝:
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Command
{
///
/// 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; }
}
}
}
返回「設計模式(C#)系列文章索引」
本系列共 5 篇:第 1 篇介紹模式概念與基礎實體;第 2 篇定義動作列舉與接收者;第 3 篇實作命令介面與具體命令;第 4 篇完成請求者與歷史管理;第 5 篇提供完整測試與撤銷重做驗證。