轻松掌握Java命令模式
时间:2021-09-09 09:51:29|栏目:JAVA代码|点击: 次
定义:请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
特点:
1、降低了系统耦合度。
2、新的命令可以很容易添加到系统中去。
企业级开发和常用框架中的应用:事务,struts的action控制器
实例:
public class Demo {
public static void main(String[] args) {
Reicever reicever = new Reicever();
Command command = new ActualCommand(reicever);
Invoker invoker = new Invoker();
invoker.addCommand(command);
invoker.call();
}
}
/**
* 命令真正的执行者,对于不同的命令可能有不同的命令执行者
*/
class Reicever{
public void action(){
System.out.println("Reicever.action()");
}
}
/**
* 命令接口,也为了后面统一后面的命令
*/
interface Command{
public void excute();
}
/**
* 实际命令对象,可能有很多不同的命令对象
*/
class ActualCommand implements Command{
private Reicever reicever;
public ActualCommand(Reicever reicever) {
this.reicever = reicever;
}
public void excute() {
reicever.action();
}
}
/**
* 命令发出者
*/
class Invoker{
private List<Command> commands = new ArrayList<>();
public void addCommand(Command command){
commands.add(command);
}
public void call(){
for(Command c:commands){
c.excute();
}
}
}
命令模式单独是用的情况很少,一般都是和备忘录模式组合是用。
上一篇:Spring之WEB模块配置详解
栏 目:JAVA代码
下一篇:Java编程复用类代码详解
本文标题:轻松掌握Java命令模式
本文地址:http://www.codeinn.net/misctech/173650.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




