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 复活
  • 相关阅读:
    12306-单
    12306-票
    12306-车
    12306-人
    12306-目录
    a+=b 是什么意思?
    开启hadoop和Hbase集群的lzo压缩功能(转)
    HBase性能优化方法总结(转)
    Spark向HDFS中存储数据
    Spark从HDFS上读取JSON数据
  • 原文地址:https://www.cnblogs.com/icxldd/p/15803712.html
Copyright © 2011-2022 走看看