第11章命令模式.pptVIP

  • 5
  • 0
  • 约7.19千字
  • 约 43页
  • 2016-12-07 发布于广东
  • 举报
第十一章 命令模式 * 家电自动化遥控器的API 遥控器有七个可编程的插槽(每个控制一个不同的家电自动化装置),每个插槽有对应的开(on)/关(off)按钮;有一个撤消(undo)按钮。 有一组Java类,这些类是由多家厂商开发出来的,用来控制家电装置,例如电灯、风扇、热水器、音响设备等。 遥控器 厂商类 喷头 立体声音响 水龙头 热水器 恒温器 厨具控制 家电自动化遥控器的API(续) 目标:创建一组控制遥控器的API,每个插槽能控制一个或一组装置(包括目前的装置和未来可能的装置)。 问题:有许多厂商类,每个类有各自的操作。遥控器应该怎样解读按钮被按下的动作? 解决方法:采用“命令对象”封装动作请求。当按钮按下时,请命令对象做相关的工作。让“动作的请求者(遥控器)”从“动作的执行者(厂商类之一的实例)”对象中解耦。 餐厅订餐 更详细地研究刚才的交互过程。 从餐厅到命令模式 与订餐过程的略微不同之处:客户一般不会直接指定厨师。 实现命令接口 所有的命令对象实现相同的包含一个方法的接口。在餐厅 中,此方法为orderUp(),命令对象中惯用名称execute()。 public interface Command { public void execute(); } 只有这一个方法。 实现一个打开电灯的命令 根据厂商提供的类, lig

文档评论(0)

1亿VIP精品文档

相关文档