命令模式
2016-01-23 22:34
369 查看
/** * 真正的执行者 * * @author zhangjianbin * */ public class Receiver { public void action() { System.err.println("真正的执行者执行命令"); } }
/** * 命令的接口 * * @author zhangjianbin * */ public interface Command { /** * 执行命令 */ void execute(); } class ConcreateCommand implements Command { /** * 命令的真正执行者 */ private Receiver receiver; public ConcreateCommand(Receiver receiver) { super(); this.receiver = receiver; } @Override public void execute() { //执行命令前或后可以做一些复杂的处理,如记录志 // 执行命令 receiver.action(); } }
/** * * 调用者或发起者 * * @author zhangjianbin * */ public class Invoke { // 可以多条命令,也可以是一条命令 private Command command; public Invoke(Command command) { super(); this.command = command; } /** * 作用:用于调用执行该命令的执行者 */ public void call() { // 执行命令前或执行命令后可以做一些复杂的处理 command.execute(); } }
public class Client { public static void main(String[] args) { //命令对象 Command cmd = new ConcreateCommand(new Receiver()); //真正的调用者,也就是命令的发起者 Invoke invoke = new Invoke(cmd); invoke.call(); } }
相关文章推荐
- mysql性能优化-慢查询分析、优化索引和配置
- 使用Vitamio库打造万能播放器(一)
- 数据结构笔记之绪论
- HDU 1034 Candy Sharing Game
- IIS 设置 FTP 服务器 添加多个账户
- 浅析进程上下文和中断上下文
- Activity与Fragment比较
- 深度|神经网络和深度学习简史(第一部分):从感知机到BP算法
- Freemarker 之 Java静态化 实例一
- 和尚是色中饿鬼,穷人乃财之饕餮
- docker share
- 基于比较排序时间复杂度下界
- Entity Framework 6 Recipes 2nd Edition(10-10)译 - > 为TPH继承的插入、更新、删除操作映射到存储过程
- Java学习之javassist
- 关于SIMD指令的一些问题
- 【java】collection-->set
- sort
- fxmaker基本使用
- Java学习之IO之File类一
- 奇异值分解(转载)