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

📄 commandstructural.cs

📁 使用C#程序将23个常用设计模式进行列表显示
💻 CS
字号:
using System;
using System.Windows.Forms;
using System.Text;

namespace DesignPattern.CommandStructural
{
    class CommandStructural : AbstractPattern
    {
        public static void Run(TextBox tbInfo)
        {
            s_tbInfo = tbInfo;
            s_tbInfo.Text = "";

            // 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() 
        {
            DesignPattern.FormMain.OutputInfo("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 + -