• 设计模式(十四):命令模式


    优点:

      ① 可降低 请求发送者与请求接收者之间的耦合

      ② 新增和删除Command对象变得容易,方便被操纵和扩展。

    缺点:

      ① 可能导致某些系统有过多的具体命令类,影响该模式效率。

    适用范围:

      系统需要将请求调用者和请求接收者解耦,使得调用者和接收者不直接交互。

    客户端:

      Chef chef = new Chef(); //厨师
      Command bakeChickenWingCommand = new BakeChickenWingCommand( chef ); //烤鸡翅
      Command bakeMuttonCommand = new BakeMuttonCommand( chef );//烤羊肉串

      Waiter girl = new Waiter();//服务员
      girl.setOrders(bakeMuttonCommand);//点烤羊肉串
      girl.setOrders(bakeChickenWingCommand); //点烤鸡翅
      girl.cancelOrder(bakeChickenWingCommand);// 取消点烤鸡翅

      girl.notifys(); //通知厨师做菜

            /**
             * Chef (厨师-执行命令,包括各做菜命令执行的方法,以备调用)
             *
             * Command (做菜命令接口,指定Chef、执行某个做菜命令的方法)
             * BakeMuttonCommand (烤羊肉串命令)  BakeChickenWingCommand (烤鸡翅命令)
             *
             * Waiter (服务员-传达命令,包括命令列表(订单)属性、订单新增命令、订单移除命令、通知厨师全部执行等方法)
             *
             */
  • 相关阅读:
    Bzoj1027 [JSOI2007]合金
    Bzoj4318 OSU!
    Bzoj3931 [CQOI2015]网络吞吐量
    Bzoj3551 [ONTAK2010]Peaks加强版
    Bzoj3545 [ONTAK2010]Peaks
    Bzoj4031 [HEOI2015]小Z的房间
    Bzoj3613 [Heoi2014]南园满地堆轻絮
    Bzoj4516 [Sdoi2016]生成魔咒
    HDU1847 Good Luck in CET-4 Everybody!
    HDU1846 Brave Game
  • 原文地址:https://www.cnblogs.com/shushengyou/p/10248261.html
Copyright © 2020-2023  润新知