- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java设计模式_hly
设计模式 Command模式 一、Command模式的适用场合: 二、Command模式的经典应用: 三、Command模式的简单例子: 三、Command模式的简单例子: 三、Command模式的简单例子: 三、Command模式的简单例子: 三、Command模式的简单例子: 三、Command模式的简单例子: 三、Command模式的简单例子: 四、Command模式的特点: 五、Command调用的顺序: 六、Command模式和其它模式的结合: Observer模式 Observer模式 Observer模式 Observer模式 Observer模式 Observer模式 Observer模式 Observer模式 Observer模式 Observer模式 Observer模式 讨论与交流 设计模式总结-Command模式 ? --摘自《Java设计模式》第24章:Command(命令)模式二、Command模式的经典应用:Command模式的经典应用就是菜单命令。如何安排才能让一个类在用户单击菜单的时候调用对应的方法呢?解决的方法就是应用多态性,具体做法如下:首先将操作的名称固定,然后针对不同的类给出不同的实现。? --摘自《Java设计模式》第24章:Command(命令)模式三、Command模式的简单例子:参见/designpatterns/command.htm四、Command模式的特点:·有一个顶层的接口,用于表示“执行命令”这个抽象动作,其次该方法中往往会含有用于区分请求类型的形参·有一至多个实现类,每个实现类实现了接口中“执行命令”这个抽象方法,提供具体的实现·有一个用来装载、保存命令执行类的容器对象,负责加载、初始化、查找、调用内部的各个命令对象?五、Command调用的顺序:·初始化命令队列,装载各个命令对象(Command接口的实现类)·接收事件/请求,将其作为参数传递给命令队列·命令队列在自己内部查找合适的处理者,调用接口实现方法处理请求六、Command模式和其它模式的结合:·Command模式和Memento模式结合,实现“撤销”操作:???这一点需要和“备忘录模式”配合,每执行一个操作之前,先保存当前的状态 * * Command模式定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。 将“动作的请求者”从“动作的执行者”对象解耦 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 让方法运行最常见的方式是调用之,但是在很多情况下,我们不能控制和提供方法执行的上下文和时机。这种情况下,可以把方法封装在对象中。通过在对象中存储调用方法所需的信息,就可以让客户端或者服务决定何时调用这个方法。Command模式的意图是把请求封装在对象中。 Command模式的经典应用就是菜单命令。如何安排才能让一个类在用户单击菜单的时候调用对应的方法呢?解决的方法就是应用多态性,具体做法如下:首先将操作的名称固定,然后针对不同的类给出不同的实现。 public interface Command { public abstract void execute(); } class Fan { public void startRotate() { System.out.println(Fan is rotating); } public void stopRotate() { System.out.println(Fan is not rotating); } } class Light { public void turnOn() { System.out.println(Light is on); } public void turnOff() { System.out.println(Light is off); } } class Switch { private Command UpCommand, DownCommand; public Switch(Command Up, Command Down) { UpCommand = Up; DownCommand = Down; } void flipUp() { UpCommand.execute(); } void flipDown() { DownCommand.execute(); } } class LightOnCommand implements Command { private Light myLight; p
您可能关注的文档
最近下载
- 岳飞《满江红·写怀》[课堂实用].ppt VIP
- 《高等数学(上册)》(阳平华)645-4教案 第七章 第27课 定积分的应用(一).doc VIP
- 青春交往学一学父母态度我调查小学六年级综合实践活动PPT课件.pptx VIP
- (非常详细)高中物理电学实验总结(内附例题与答案).pdf VIP
- 正压通气治疗机注册审查指导原则(2024年修订版) &正电子发射磁共振成像系统注册审查指导原则(2024年第8号).pdf VIP
- 《中秋节的传说》传统故事绘本.pptx VIP
- 医疗器械相关标准-TGBC17-2024 检验检测机构常用化学试剂储存管理规范&TGBC19-2024 检验检测机构危险化学品安全管理规范.pdf VIP
- 铜陵铜化集团招聘考试题目.pdf
- 爱尔兰-性能研究申请.pdf VIP
- 呼吸道感染患者的呼吸护理.pptx VIP
文档评论(0)