设计模式之7 command模式和state模式,调停者模式,门面.docx
《设计模式之7 command模式和state模式,调停者模式,门面.docx》由会员分享,可在线阅读,更多相关《设计模式之7 command模式和state模式,调停者模式,门面.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1. Command模式: 简单来说就是每一个请求过来,都有一个事物去处理。在最初的设计模式书当中,command模式最主要的功能是用来实现undo(撤销)功能的。首先是抽象类Command:package mand;/提供一个抽象类来规定方法的名称为execute和undopublic abstract class Command public abstract void execute();public abstract void unDo();两个具体的类的实现:HugCommand和ShoppingCommandpackage mand;public class HugCommand
2、extends Command /都实现抽象类command当中的两个方法。execute()和undo()Overridepublic void execute() System.out.println(hug);Overridepublic void unDo() System.out.println(open your arms);package mand;public class ShoppingCommand extends Command /都实现抽象类command当中的两个方法。execute()和undo()Overridepublic void execute() Syst
3、em.out.println(zoo);Overridepublic void unDo() System.out.println(undo zoo);命令者类:当有order方法,其中调用了被命令者(boy)的addCommand方法,用来给boy添加任务:各种command。package mand;public class MM private String name;public String getName() return name;public void setName(String name) this.name = name;/在order当中可以有多个command, c1
4、,c2.public void order(Boy b) Command c1 = new ShoppingCommand();/调用了boy当中的addCommand方法,把c1,c2都添加到他的arraylist当中去b.addCommand(c1);Command c2 = new HugCommand();b.addCommand(c2);b.executeCommands();被命令者类:package mand;import java.util.ArrayList;import java.util.List;public class Boy private String name;
5、/用一个arraylist来存放命令列表private List commands = new ArrayList();public String getName() return name;public void setName(String name) this.name = name;public void pursue(MM mm) public void doSomeThing() /boy提供一个方法,把命令添加到boy的arraylist当中public void addCommand(Command c1) mands.add(c1);/把commands里面所有的命令拿出来,
6、每个都执行。public void executeCommands() for(Command c : commands) c.execute();/undo的时候,要用另外一个list来记录,boy已经执行了哪些command。/在undo的时候,就根据堆栈的方式,一条一条的undo。/使用堆栈的理由,就是要先把最后命令undo,然后再返回去。public void undoCommands() /思想:1. 给出一个抽象类或接口,把command需要 方法准备好。2. 给出几个不同的具体实现,各种不同的command。3. 命令者当中,给被命令者添加command,并可以要求被命令者执行。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计模式之7 command模式和state模式 调停者模式 门面 设计 模式 command state 调停 门面
限制150内