乐在其中设计模式(C#) - 命令模式(Command Pattern)

原文:乐在其中设计模式(C#) - 命令模式(Command Pattern)

[索引页][源码下载]

乐在其中设计模式(C#) - 命令模式(Command Pattern)

作者:webabcd





介绍

将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。





示例

有一个Message实体类,某个类对它的操作有Insert()和Delete()方法。现在要求可以对之前的所有操作做撤销和重复。

乐在其中设计模式(C#) - 命令模式(Command Pattern)





MessageModel

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Text;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)namespace Pattern.Command

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// Message实体类

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    public class MessageModel

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 构造函数

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="msg">Message内容</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="pt">Message发布时间</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public MessageModel(string msg, DateTime pt)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            this._message = msg;

乐在其中设计模式(C#) - 命令模式(Command Pattern)            this._publishTime = pt;

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)        private string _message;

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// Message内容

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public string Message

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)            get 乐在其中设计模式(C#) - 命令模式(Command Pattern){ return _message; }

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)            set 乐在其中设计模式(C#) - 命令模式(Command Pattern){ _message = value; }

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)        private DateTime _publishTime;

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// Message发布时间

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public DateTime PublishTime

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)            get 乐在其中设计模式(C#) - 命令模式(Command Pattern){ return _publishTime; }

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)            set 乐在其中设计模式(C#) - 命令模式(Command Pattern){ _publishTime = value; }

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)    }

乐在其中设计模式(C#) - 命令模式(Command Pattern)}

Action

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Text;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)namespace Pattern.Command

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// enum

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// 定义操作的两种方法Insert和Delete

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    public enum Action

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// Insert

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Insert,

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// Delete

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Delete

乐在其中设计模式(C#) - 命令模式(Command Pattern)    }

乐在其中设计模式(C#) - 命令模式(Command Pattern)}

乐在其中设计模式(C#) - 命令模式(Command Pattern)

SqlMessage

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Text;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)namespace Pattern.Command

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// 接收者(Receiver)角色

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// Sql方式操作Message

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    public class SqlMessage

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 操作

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="action">操作的方法</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public void Operation(Action action, MessageModel mm)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            switch (action)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)            乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)                case Action.Insert : 

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    Insert(mm); 

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    break;

乐在其中设计模式(C#) - 命令模式(Command Pattern)                case Action.Delete :

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    Delete(mm);

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    break;

乐在其中设计模式(C#) - 命令模式(Command Pattern)            }

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 插入Message

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        private void Insert(MessageModel mm)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            // 代码略

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 删除Message

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        private void Delete(MessageModel mm)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            // 代码略

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)    }

乐在其中设计模式(C#) - 命令模式(Command Pattern)}

乐在其中设计模式(C#) - 命令模式(Command Pattern)

ICommand

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Text;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)namespace Pattern.Command

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// 命令(Command)角色

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    public interface ICommand

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 执行

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <returns>操作的方法及操作的信息</returns>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        string Execute();

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 取消执行

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <returns>操作的方法及操作的信息</returns>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        string UnExecute();

乐在其中设计模式(C#) - 命令模式(Command Pattern)    }

乐在其中设计模式(C#) - 命令模式(Command Pattern)}

乐在其中设计模式(C#) - 命令模式(Command Pattern)

SqlMessageCommand

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Text;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)namespace Pattern.Command

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// 具体命令(ConcreteCommand)角色

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    public class SqlMessageCommand : ICommand

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 操作的方法

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        private Action _action;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// Message实体对象

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        private MessageModel _mm;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 构造函数

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="action">操作的方法</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public SqlMessageCommand(Action action, MessageModel mm)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            this._action = action;

乐在其中设计模式(C#) - 命令模式(Command Pattern)            this._mm = mm;

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 执行

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <returns>操作的方法及操作的信息</returns>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public string Execute()

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            new SqlMessage().Operation(_action, _mm);

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            return _action.ToString() + ":" + _mm.Message;

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 取消执行(调用一个方法,以决定取消执行的算法)

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <returns>操作的方法及操作的信息</returns>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public string UnExecute()

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            _action = GetUndoAction(_action);

乐在其中设计模式(C#) - 命令模式(Command Pattern)            new SqlMessage().Operation(_action, _mm);

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            return _action.ToString() + ":" + _mm.Message;

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 获得取消执行的算法

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="action">操作的方法</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        private Action GetUndoAction(Action action)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            Action undo;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            switch (action)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)            乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)                case Action.Insert : 

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    undo = Action.Delete; 

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    break;

乐在其中设计模式(C#) - 命令模式(Command Pattern)                case Action.Delete :

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    undo = Action.Insert;

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    break;

乐在其中设计模式(C#) - 命令模式(Command Pattern)                // 这句没啥用

乐在其中设计模式(C#) - 命令模式(Command Pattern)                default :

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    undo = Action.Insert;

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    break;

乐在其中设计模式(C#) - 命令模式(Command Pattern)            }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            return undo;

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)    }

乐在其中设计模式(C#) - 命令模式(Command Pattern)}

乐在其中设计模式(C#) - 命令模式(Command Pattern)

Message

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Text;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)namespace Pattern.Command

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// 请求者(Invoker)角色

乐在其中设计模式(C#) - 命令模式(Command Pattern)    /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)    public class Message

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 命令集合(保存每次操作)

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        private List<ICommand> _listCommand = new List<ICommand>();

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 命令集合中当前要执行的命令的索引

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern);

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 执行Sql

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="action">操作的方法</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <returns>操作的方法及操作的信息</returns>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public string Do(Action action, MessageModel mm)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            string rtn = "";

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            ICommand cmd = new SqlMessageCommand(action, mm);

乐在其中设计模式(C#) - 命令模式(Command Pattern)            rtn = cmd.Execute();

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            _listCommand.Add(cmd);

乐在其中设计模式(C#) - 命令模式(Command Pattern)            current++;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            return rtn;

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 撤销

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="levels">执行撤销操作的次数</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <returns>操作的方法及操作的信息(用空格分开多条记录)</returns>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public string Undo(int levels)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            string rtn = "";

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            ; i < levels; i++)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)            乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)                )

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)                乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    ICommand cmd = _listCommand[--current];

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    rtn += cmd.UnExecute() + " ";

乐在其中设计模式(C#) - 命令模式(Command Pattern)                }

乐在其中设计模式(C#) - 命令模式(Command Pattern)            }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            return rtn;

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// 重复

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// </summary>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <param name="levels">执行重复操作的次数</param>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        /// <returns>操作的方法及操作的信息(用空格分开多条记录)</returns>

乐在其中设计模式(C#) - 命令模式(Command Pattern)        public string Redo(int levels)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)        乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)            string rtn = "";

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            ; i < levels; i++)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)            乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)                )

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)                乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    ICommand cmd = _listCommand[current++];

乐在其中设计模式(C#) - 命令模式(Command Pattern)                    rtn += cmd.UnExecute() + " ";

乐在其中设计模式(C#) - 命令模式(Command Pattern)                }

乐在其中设计模式(C#) - 命令模式(Command Pattern)            }

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)            return rtn;

乐在其中设计模式(C#) - 命令模式(Command Pattern)        }

乐在其中设计模式(C#) - 命令模式(Command Pattern)    }

乐在其中设计模式(C#) - 命令模式(Command Pattern)}

乐在其中设计模式(C#) - 命令模式(Command Pattern)

client

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Data;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Configuration;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Collections;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Web;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Web.Security;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Web.UI;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Web.UI.WebControls;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Web.UI.WebControls.WebParts;

乐在其中设计模式(C#) - 命令模式(Command Pattern)using System.Web.UI.HtmlControls;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)using Pattern.Command;

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)public partial class Command : System.Web.UI.Page

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)    protected void Page_Load(object sender, EventArgs e)

乐在其中设计模式(C#) - 命令模式(Command Pattern)乐在其中设计模式(C#) - 命令模式(Command Pattern)    乐在其中设计模式(C#) - 命令模式(Command Pattern){

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Message m = new Message();

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("操作");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Do(Action.Insert, new MessageModel("第1条", DateTime.Now)));

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Do(Action.Insert, new MessageModel("第2条", DateTime.Now)));

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Do(Action.Insert, new MessageModel("第3条", DateTime.Now)));

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Do(Action.Insert, new MessageModel("第4条", DateTime.Now)));

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Do(Action.Delete, new MessageModel("第2条", DateTime.Now)));

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Do(Action.Insert, new MessageModel("第5条", DateTime.Now)));

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Do(Action.Delete, new MessageModel("第3条", DateTime.Now)));

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Do(Action.Insert, new MessageModel("第6条", DateTime.Now)));

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Do(Action.Insert, new MessageModel("第7条", DateTime.Now)));

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("撤销4次操作");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Undo());

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("重复2次操作");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Redo());

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("撤销3次操作");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 命令模式(Command Pattern)        Response.Write(m.Undo());

乐在其中设计模式(C#) - 命令模式(Command Pattern)    }

乐在其中设计模式(C#) - 命令模式(Command Pattern)}

乐在其中设计模式(C#) - 命令模式(Command Pattern)

运行结果

操作

Insert:第1条

Insert:第2条

Insert:第3条

Insert:第4条

Delete:第2条

Insert:第5条

Delete:第3条

Insert:第6条

Insert:第7条

撤销4次操作

Delete:第7条 Delete:第6条 Insert:第3条 Delete:第5条

重复2次操作

Insert:第5条 Delete:第3条

撤销3次操作

Insert:第3条 Delete:第5条 Insert:第2条





参考

http://www.dofactory.com/Patterns/PatternCommand.aspx





OK

[源码下载]

上一篇:15款不容错过的前端开发Javascript和css类库 - 2017版本~


下一篇:iOSQuartz2D-02-绘制炫酷的下载进度条