zoukankan      html  css  js  c++  java
  • C#命令模式实例代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 命令模式
    {
        class Program
        {
            static void Main(string[] args)
            {
                Receiver r = new Receiver();
                Command c = new ConcreteCommand(r);
                Invoker i = new Invoker();
                i.SetCommand(c);
                i.ExectueCommand();
    
            }
            public abstract class Command
            {
                private Receiver receiver;
    
                internal Receiver Receiver
                {
                    get { return receiver; }
                    set { receiver = value; }
                }
                public Command(Receiver receiver)
                {
                    this.receiver = receiver;
                }
                public abstract void Execute();
    
            }
            public class Receiver
            {
                public void Action()
                {
                    Console.WriteLine("取得receiver的action方法!");
                }
            }
            public class ConcreteCommand : Command
            {
                public ConcreteCommand(Receiver receiver) : base(receiver) { }
                public override void Execute()
                {
                    Receiver.Action();
                }
            }
            public class Invoker
            {
                private Command command;
    
                internal Command Command
                {
                    get { return command; }
                    set { command = value; }
                }
                public void SetCommand(Command command)
                {
                    this.command = command;
                }
                public void ExectueCommand()
                {
                    command.Execute();
                }
            }
        }
    }
    
  • 相关阅读:
    python_捕获异常
    requests二次封装_捕获异常
    python_flask模块
    python_redis模块
    python_requests模块
    使用pstack和gdb调试死锁
    如何编写go代码
    GDB调试命令手册
    core文件相关
    shared_ptr的线程安全性
  • 原文地址:https://www.cnblogs.com/minotmin/p/3109966.html
Copyright © 2011-2022 走看看