优势:spa
① 可下降 请求发送者与请求接收者之间的耦合code
② 新增和删除Command对象变得容易,方便被操纵和扩展。对象
缺点:blog
① 可能致使某些系统有过多的具体命令类,影响该模式效率。接口
适用范围:it
系统须要将请求调用者和请求接收者解耦,使得调用者和接收者不直接交互。class
客户端:效率
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 (服务员-传达命令,包括命令列表(订单)属性、订单新增命令、订单移除命令、通知厨师所有执行等方法) * */