三、命令模式Commond(行为型模式)
2016-04-15 17:36
239 查看
命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤销的操作。
package commond; import java.util.ArrayList; import java.util.List; publicclass CommondTest { } class MM { String name; public String getName() { returnname; } publicvoid setName(String name) { this.name = name; } publicvoid order(Boy b){ Command c=new Shopping(); b.addCommand(c); c=new Hug(); b.addCommand(c); b.executeCommands(); } } class Boy { String name; List<Command> commands=new ArrayList<Command>(); public String getName() { returnname; } publicvoid executeCommands() { for(Command c:commands){ c.execute(); } } publicvoid addCommand(Command c) { commands.add(c); } publicvoid setName(String name) { this.name = name; } publicvoid doSomething() { } } abstractclass Command{ publicabstractvoid execute(); publicabstractvoid unDo(); } class Shopping extends Command{ @Override publicvoid execute() { System.out.println("去购物"); } @Override publicvoid unDo() { System.out.println("回家"); } } class Hug extends Command{ @Override publicvoid execute() { System.out.println("抱抱"); } @Override publicvoid unDo() { System.out.println("走人"); } }
相关文章推荐
- iOS APP上架详细流程
- HBase -ROOT-和.META.表结构(region定位原理)
- git工作流
- 一小时搞定DIV+CSS布局-固定页面开度布局
- C++作业2-2
- 2. 快速入门-跟着例子走
- Project facet Java version 1.8 is not supported.错误提示解决方法
- DecimalFormat类——Java中字符串类型的数字加减报错和精度缺失的解决办法
- 思考
- 系统镜像盘ISO的制作--基于tinycorelinux
- java memcache应用
- SVN外网访问内网的操作步骤
- iOS使用自定义字体
- 多进程并发编程----进程间传递文件描述符案例
- git 切换分支时的 git checkout
- checkbox和后面文字无法居中对齐的解决方案
- 改造间隙扯淡3:民用机器人产品
- java反射代理学习
- Hibernate —— 原生SQL的实例
- [css] css3 中的新特性加强记忆