命令模式案例实验报告

命令模式案例实验报告

ID:22004372

大小:112.50 KB

页数:5页

时间:2018-10-26

命令模式案例实验报告_第1页
命令模式案例实验报告_第2页
命令模式案例实验报告_第3页
命令模式案例实验报告_第4页
命令模式案例实验报告_第5页
资源描述:

《命令模式案例实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、获件试钟与怵系結拘课程名称软件设计与体系结构课程编号0920116实验项目名称命令模式案例学号班级姓名专业学生所在学院指导教师实验室名称地点实验时间实验目的:命令模式(ObserverPattern)足设计模式屮行为模式的一种,它解决了上述具有一对多依赖关系的对象的重用问题。此模式的参与者分为两大类,一类是被观察的目标,另一类是观察该目标的观察者们。正因为该模式是基于“一对多”的关系,所以该模式一般是应用于由一个目标对象和N个观察者对象组成(当然也可以扩展为有多个目标对象,但我们现在只讨论前者)的场合。当H标对象的状态发生改变或做出某种行为时,正在观察该目标对象的观察

2、者们将自动地、连锁地作出相应的响应行为。通过本次实验了解观察者模式的原理。并能够运用观察者模式来进行编程。实验内容1UML类图命令模式-烧烤店-松耦合设计:2程序的源代码命令模式-烧烤店-松耦合设计:packageBake;publicclassBakeChickenWingCommandextendsCommand{publicBakeChickenWingCommand(Barbecuerreceiver){super(receiver);//TODOAuto-generatedconstructorstub)@OverridepublicvoidExecuteC

3、ommand(){//TODOAuto-generatedmethodstubreceiver.BakeChickenWingO;}}packageBake;publicclassBakeMuttonCommandextendsCommand{publicBakeMuttonCommand(Barbecuerreceiver){super(receiver);//TODOAuto-generatedconstructorstub}@OverridepublicvoidExecuteCommand(){//TODOAuto-generatedmethodstubrece

4、iver.BakeMutton();})packageBake;publicclassBarbecuer{publicvoidBakeMutton(){System.out.println("烤羊肉串");}publicvoidBakeChickenWingO{System.out.println(n烤鸡翅”);})packageBake;publicabstractclassCommand{protectedBarbecuerreceiver;publicCommand(Barbecuerreceiver){super();this.receiver=receive

5、r;)abstractpublicvoidExecuteCommand();}packageBake;importjava.util.ArrayList;importjava.util.List;importjava.util.Listlterator;publicclassWaiter{privateLi$torders;publicWaiter。{super();orders=newArrayList();)publicvoidSetOrder(Commandcommand){if(command.toString().subs

6、tring(0,14).equals("Bake.BakeChick”)){System.out.println("鸡翅没有了,请点别的烧烤。”);}//elseif(command.toString().substring(0,14).equals(’’Bake.BakeMutto”)){//System.out.println(nThemuttonhavebeensoldout,pleasetrysomethingelse’’//}else{orders.add(command);System.out.println(n点餐:u+command.toString(

7、).substring(5,15));}}publicvoidCancelOrder(Commandcommand){orders.remove(command);System.out.println(’•取消点餐:’’+command.toString().substring(0,15));}publicvoidNotify(){ListIteratori=orders.listlterator();while(i.hasNext()){i.next().ExecuteCommand();}}}packageBake;public

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。