• 命令模式


        class Program
        {
            static void Main(string[] args)
            {
                命令抽象 点一份汤 = new 煮汤命令();
                命令抽象 来份小炒 = new 炒菜命令();
                服务员 小二 = new 服务员();
                小二.添加命令(点一份汤);
                小二.添加命令(来份小炒);
                小二.取消命令(点一份汤);
                小二.通知后厨();
                Console.ReadKey();
            }
    
        }
        class 服务员
        {
            List<命令抽象> 命令 = new List<命令抽象>();
            public void 添加命令(命令抽象 客户需求)
            {
                命令.Add(客户需求);
            }
            public void 取消命令(命令抽象 客户需求)
            {
                if (命令.Contains(客户需求))
                {
                    命令.Remove(客户需求);
                }
                else
                {
                    Console.WriteLine("客官你没有下过这个单");
                }
            }
            public void 通知后厨()
            {
                foreach (var v in 命令)
                {
                    v.执行通知命令();
                }
            }
        }
        class 煮汤命令 : 命令抽象
        {
            public override void 执行通知命令()
            {
                Console.WriteLine("后厨厨师开始煮汤啦");
                base.厨师.煮汤();
            }
        }
        class 炒菜命令 : 命令抽象
        {
            public override void 执行通知命令()
            {
                Console.WriteLine("后厨厨师小炒一份");
                base.厨师.炒菜();
            }
        }
        abstract class 命令抽象
        {
            protected 厨师 厨师;
            public 命令抽象()
            {
                厨师 = new 厨师();
            }
            public abstract void 执行通知命令();
        }
        class 厨师
        {
            public void 炒菜()
            {
                Console.WriteLine("开始炒菜");
            }
            public void 煮汤()
            {
                Console.WriteLine("开始煮汤");
            }
        }
  • 相关阅读:
    如何判断第一个节区头的RVA
    从可执行文件中删除.reloc节区
    动态规划(dynamic programming)
    Ubuntu18安装SQL server
    Ubuntu16.04突然断网
    [Toddler's Bottle]做题记录
    BUU | pwnable_orw
    BUU| 基础破解
    web.xml
    PKIX
  • 原文地址:https://www.cnblogs.com/smailxiaobai/p/3637672.html
Copyright © 2020-2023  润新知