阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都
有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌
灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。command模式
的类图如图6-1所示。
【Java代码】
}
本题考查命令(Command)模式的基本概念和应用。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。在软件系统中,行为请求者与行为实现者之间通常呈现一种紧耦合的关系。但在某些场合,比如要对行为进行记录撤销重做事务等处理,这种无法抵御变化的紧耦合是不合适的。这种情况下,使用command模式将行为请求者与行为实现者进行解耦。题目中给出了Lommamt模式的类图,其中:Command类为所有命令声明了一个接口。调用命令对象的execute()方法,就可以让接收者进行相关的动作。ConcreteCommand类定义了动作和接收者之间的绑定关系。调用者只要调用execute()就可以发出请求,然后由ConcreteCommand调用接收者的一个或多个动作。Invoker持有一个命令对象,并在某个时间点调用命令对象的execute()方法,将请求付诸实行。Receiver知道如何进行必要的工作,实现这个请求。任何类都可以当接收者。了解了Command模式的内涵之后,下面来看程序。由于Command类的主要作用是为所有的ConcreteCommand定义统一的接口,在Java中通常采用接口(interface)来实现,所以(1)处对应的代码为interfaceCommand。类LightOnCommand、LightOffCommand对应的就是模式中的ConcreteCommand。ConcreteCommand中execute()方法的代码在类图中已经给出,现在需要确定receiver是谁。类Light充当的是Receiver.其中定义了两种action:on和off.所以(2)、(3)对应代码分别为light.on()和light.off()。类RemoteControl对应的是模式中的Invoker,在该类中设置需要控制的命令对象。(4)处对应的代码为onCammands[slot],设置“开灯”命令对象:(5)处对应的代码为offCommands[slot],设置‘关灯”命令对象。类RemoteControl中的方法onButtonWasPushed和ofiButtonWasPushed,分别完成对开灯、关灯命令对象的execute方法的调用。所以(6)、(7)处分别对应代码onCommands[slot].execute()、offCommands[slot].execute()。试题六参考答案(1)interfaceCommand(2)light.on()(3)light.off()(4)onCommands[slot](5)offi:ommands[slot](6)onCommands[slot].execute()(7)ofiCommands[slot].execute()
(绝对简单,绝对好评)一个玩具按买入价35%的利润定价,因生意不好,就降低定价的2成卖出,结果盈了 数学 2020-05-13 …
问一下向量理解的问题像这道题已知i垂直于j,i的绝对值=j的绝对值=1,a=4i-j,b=i+2j 数学 2020-05-14 …
补全对话J:Hello,Robert.AreyoufreeonSaturdaymorning?R: 英语 2020-06-12 …
已知i.j是两个不共线向量,若AB=3i+2j,CB=i+入j,CD=-2i+3j,那么当实数入为 数学 2020-06-12 …
如何计算16*16点阵的汉字字形码存储约7000汉字,大约需要多少存储量对于J进制数,若小数点向左 数学 2020-07-01 …
初一英语题目(补全对话)J:Mum,haveyouheardthe(56)reporttoday?M 英语 2020-10-30 …
下面的中文如何译成英文参考文献:1王辉,朱慧涛.我国电子政务建设中的障碍与对策[J].安徽大学学报( 英语 2020-11-14 …
2016年全国各地高考,采取多证核对、人机比对等措施严防替考;防止考生携带高科技作弊工具进入考场…… 政治 2020-11-22 …
以下制作青铜器的工序中,正确的顺序是:1.打破范具,对器具进行表面加工.2.将铜等矿石熔化.3.制做 其他 2020-12-01 …
下列各组词语中加点字的注音或书写全对的一组是()A水渍(zì)蹂躏(róulìn)百废具兴(jù)入 语文 2020-12-09 …