命令者模式(使用较少)
来源:互联网 发布:解方程 计算机算法 编辑:程序博客网 时间:2024/06/08 14:57
场景:Struct2中,action的整个调用过程;数据库事务机制底层实现;命令的撤销和恢复
Receiver.java(真正命令的执行者)
public class Receiver {public void action(){System.out.println("Receiver.action()");}}
Command.java
public interface Command {/** * 这个方法是一个返回结果为空的方法。 * 实际项目中,可以根据需求设计多个不同的方法 */void execute();}class ConcreteCommand implements Command {private Receiver receiver;//命令的真正的执行者public ConcreteCommand(Receiver receiver) {super();this.receiver = receiver;}@Overridepublic void execute() {//命令真正执行前或后,执行相关的处理!receiver.action();}}
Invoke.java(调用者,发起者)
//调用者/发起者public class Invoke {private Command command; //也可以通过容器List<Command>容纳很多命令对象,进行批处理。数据库底层的事务管理就是类似的结构!public Invoke(Command command) {super();this.command = command;} //业务方法 ,用于调用命令类的方法public void call(){command.execute();}}
测试
public class Client {public static void main(String[] args) {Command c = new ConcreteCommand(new Receiver());Invoke i = new Invoke(c);i.call();//new Receiver().action();}}
简单的说,就是command有receiver的引用,可以调用receiver的方法,invoke有command的引用,调用command的方法,从而调用receiver的方法,用户只需创建invoke就可以调用receiver的方法
阅读全文
0 0
- 命令者模式(使用较少)
- 解释器模式和访问者模式(使用较少)
- XP系统较少用的DOS命令
- handlebars Block Expressions 块表达式 直接使用html标签拼接方式(使用较少)
- 获取listview的所有子目录高度(使用item较少情况)
- 特定式子的非线性拟合(使用于数据较少的的时候)
- 一个成年人的自我修养(有感而发,内容较少)
- 命令模式(已经使用感觉不赖)
- git命令模式使用
- 使用命令模式实现多线程
- 命令模式的简单使用
- 【JAVA】设计模式之命令模式(Command模式)的使用分析
- 命令模式(14)--命令模式
- 命令模式(遥控器模式)
- 模式十六(命令模式)
- 设计模式(命令模式)
- 冒泡排序优化以及插入排序(本文注释较少适合有一定基础的观看)
- UIView部分方法介绍(主要是用得相对较少的方法)
- Nginx+tomcat 搭建负载均衡集群
- jupyter notebook 的使用方法(持续更新)
- NL-mean和BM3D去噪算法
- gulp压缩js/less(css)
- java数据类型
- 命令者模式(使用较少)
- c++ list, vector, map, set 区别与用法比较
- Coursera吴恩达机器学习课程 编程作业
- CSS样式表
- H5游戏的螺旋上升的发展历程
- 谷歌中文开发文档
- celery message priority
- anaconda使用总结
- openssl工具