第9章_命令模式.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章_命令模式

命令模式 一 、 概述 实例 在军队作战中,指挥官请求三连偷袭敌人,但是指挥官不希望或无法直接与三连取得联系,那么可以将该请求:“三连偷袭敌人”形成一个“作战命令”。只要能让该作战命令被执行,就会实现三连偷袭敌人的目的。 二、命令模式的结构与使用 三、命令模式的优点 四、应用举例 模拟带控制开关的小电器。该电器上有四个开关,两个一组,其中一组负责打开、关闭小电器上的照明灯,另一组负责打开、关闭小电器上的摄像头。 Copyright 2008 TietoEnator Corporation Copyright 2008 TietoEnator Corporation Copyright 2008 TietoEnator Corporation Copyright 2008 TietoEnator Corporation Copyright 2008 TietoEnator Corporation Copyright 2008 TietoEnator Corporation Copyright 2008 TietoEnator Corporation Copyright 2008 TietoEnator Corporation 模式设计(JAVA) 商学院 信管专业教研室 韩 娜 电话: 661905 办公室: HG406 * * 命令模式(别名:动作,事务) 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 Command Pattern(Another Name: Action, Transaction) Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations. * * 在许多设计中,经常涉及到一个对象请求另一个对象调用其方法到达某种目的。如果请求者不希望或无法直接和被请求者打交道,即不希望或无法含有被请求者的引用,那么就可以使用命令模式。 * * 模式的结构中包括四种角色: 接收者(Receiver) 命令(Command)接口 具体命令(ConcreteCommand) 请求者(Invoker) * * 模式的UML类图 * * 模式的结构的描述与使用 1.接收者(Receiver) : CompanyArmy.java public class CompanyArmy{ public void sneakAttack(){ System.out.println(我们知道如何偷袭敌人,保证完成任务); } } * * 模式的结构的描述与使用 2.命令(Command)接口 : Command.java public interface Command { public abstract void execute(); } * * 模式的结构的描述与使用 3.具体命令(ConcreteCommand) ConcreteCommand.java public class ConcreteCommand implements Command{ CompanyArmy army; //含有接收者的引用 ConcreteCommand(CompanyArmy army){ this.army=army; } public void execute(){ //封装着指挥官的请求 army.sneakAttack(); //偷袭敌人 } } * * 模式的结构的描述与使用 4.请求者(Invoker) ArmySuperior.java public class ArmySuperior{ Command command; //用来存放具体命令的引用 public void setCommand(Command command){ mand=command; } public void startExecuteCommand(){ //让具体命令执行execute()方法 command.execute(); } } * * 模式的结构的描述与使用 5.应用 Application.java public c

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档