命令模式

来源:互联网 发布:rf优化是什么 编辑:程序博客网 时间:2024/06/10 02:10

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

 

    class Program    {        static void Main(string[] args)        {            Receiver r = new Receiver();            Command c = new ConcreteCommand(r);            Invoker i = new Invoker();            // Set and execute command             i.SetCommand(c);            i.ExecuteCommand();            Console.Read();        }    }    abstract class Command    {        protected Receiver receiver;        public Command(Receiver receiver)        {            this.receiver = receiver;        }        abstract public void Execute();    }    class ConcreteCommand : Command    {        public ConcreteCommand(Receiver receiver)            :          base(receiver) { }        public override void Execute()        {            receiver.Action();        }    }    class Receiver    {        public void Action()        {            Console.WriteLine("执行请求!");        }    }    class Invoker    {        private Command command;        public void SetCommand(Command command)        {            this.command = command;        }        public void ExecuteCommand()        {            command.Execute();        }    }


 

0 0
原创粉丝点击