⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class1.cs

📁 来自DoFactory的设计模式, 由于是本人根据已有代码创建,没有NETOptimized项
💻 CS
字号:
// Command pattern -- Structural example  

using System;

namespace DoFactory.GangOfFour.Command.Structural
{

    // MainApp test applicatio 

    class MainApp
    {
        static void Main()
        {
            // Create receiver, command, and invoker 
            Receiver receiver = new Receiver();
            Command command = new ConcreteCommand(receiver);
            Invoker invoker = new Invoker();

            // Set and execute command 
            invoker.SetCommand(command);
            invoker.ExecuteCommand();

            // Wait for user 
            Console.Read();
        }
    }

    // "Command" 

    abstract class Command
    {
        protected Receiver receiver;

        // Constructor 
        public Command(Receiver receiver)
        {
            this.receiver = receiver;
        }

        public abstract void Execute();
    }

    // "ConcreteCommand" 

    class ConcreteCommand : Command
    {
        // Constructor 
        public ConcreteCommand(Receiver receiver)
            :
          base(receiver)
        {
        }

        public override void Execute()
        {
            receiver.Action();
        }
    }

    // "Receiver" 

    class Receiver
    {
        public void Action()
        {
            Console.WriteLine("Called Receiver.Action()");
        }
    }

    // "Invoker" 

    class Invoker
    {
        private Command command;

        public void SetCommand(Command command)
        {
            this.command = command;
        }

        public void ExecuteCommand()
        {
            command.Execute();
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -