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

    例子

    
        public class CommandLineArgs
        {
            public CommandLineArgs(string command, params string[] args)
            {
                Command = command;
                Args = args;
            }
    
            public string Command { get; }
    
            public string[] Args { get; }
        }
    
    
        public interface IConsoleCommand
        {
            void ExecuteAsync(CommandLineArgs commandLineArgs);
        }
    
    
        public class GodConsoleCommand : IConsoleCommand
        {
            public void ExecuteAsync(CommandLineArgs commandLineArgs)
            {
                Console.WriteLine($"给{commandLineArgs.Args[0]}增加无敌BUFF");
            }
        }
    
        public class KillConsoleCommand : IConsoleCommand
        {
            public void ExecuteAsync(CommandLineArgs commandLineArgs)
            {
                Console.WriteLine($"杀死{commandLineArgs.Args[0]}");
            }
        }
    
        public class ReviveConsoleCommand : IConsoleCommand
        {
            public void ExecuteAsync(CommandLineArgs commandLineArgs)
            {
                Console.WriteLine($"复活{commandLineArgs.Args[0]}");
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                var arg = args[1];
                var common = new CommandLineArgs(args[0], arg);
                if (args[0] == "god")
                {
                    new GodConsoleCommand().ExecuteAsync(common);
                }
    
                if (args[0] == "kill")
                {
                    new KillConsoleCommand().ExecuteAsync(common);
                }
    
                if (args[0] == "revive")
                {
                    new ReviveConsoleCommand().ExecuteAsync(common);
                }
            }
        }
    
    

    控制台命令:

    • CommandPattern god uid 无敌
    • CommandPattern kill uid 杀死
    • CommandPattern revive uid 复活
  • 相关阅读:
    __name__在调用时的区别
    Python内置模块--os模块的使用
    查询mysql 表的元数据信息
    nfs服务搭建
    jvm参数设置
    spring boot 集成 beetl
    spring boot 集成 swagger2 四部曲
    JavaScript中的this关键字
    jQuery 基础事件
    jQuery 表单选择器
  • 原文地址:https://www.cnblogs.com/icxldd/p/15803712.html
Copyright © 2011-2022 走看看