zoukankan      html  css  js  c++  java
  • 设计模式:命令模式

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

    namespace CommandDesign
    {
        public abstract class Command
        {
            protected Receiver receiver;
            public Command(Receiver receiver)
            {
                this.receiver = receiver;
            }
            public abstract void Execute();
        }
        public class ConcreteCommand : Command
        {
            public ConcreteCommand(Receiver receiver) : base(receiver) { }
            public override void Execute()
            {
                receiver.Action();
            }
        }
        public class Invoker
        {
            private Command command;
            public void SetCommand(Command command)
            {
                this.command = command;
            }
            public void ExecuteCommand()
            {
                command.Execute();
            }
        }
        public class Receiver
        {
            public void Action()
            {
                Console.WriteLine("执行请求!");
            }
        }
    }
    View Code

    测试代码:

                Receiver r = new Receiver();
                Command c = new ConcreteCommand(r);
                Invoker i = new Invoker();
                i.SetCommand(c);
                i.ExecuteCommand();
    View Code
  • 相关阅读:
    第二周作业
    求最大值及下标编程总结
    查找整数编程总结
    课程设计第一次实验总结
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    第七周作业
  • 原文地址:https://www.cnblogs.com/uptothesky/p/5286293.html
Copyright © 2011-2022 走看看