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 复活
  • 相关阅读:
    Codeforces1335F Robots on a Grid
    BJOI2014 大融合
    洛谷 P1463 [SDOI2005]反素数ant && codevs2912反素数
    codeforce 570 problem E&& 51Nod-1503-猪和回文
    洛谷noip 模拟赛 day1 T1
    noip 2010 三国游戏
    noip 2013 华容道
    汕头市队赛 SRM 07 D 天才麻将少女kpm
    noip2012 普及组
    汕头市队赛 SRM 08 B
  • 原文地址:https://www.cnblogs.com/icxldd/p/15803712.html
Copyright © 2011-2022 走看看