Java开发中的23种设计模式详解----命令模式(Command)
来源:互联网 发布:淘宝退款怎么退一部分 编辑:程序博客网 时间:2024/09/21 09:25
命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实现的。我们看看关系图:
Invoker是调用者(司令员),Receiver是被调用者(士兵),MyCommand是命令,实现了Command接口,持有接收对象,看实现代码:
public interface Command{ public void exe();}
public class Invoker{ private Command command; public Invoker(Command command) { this.command = command; } public void action() { command.exe(); }}
public class MyCommand implements Command{ private Receiver receiver; public MyCommand(Receiver receiver) { this.receiver = receiver; } @Override public void exe() { receiver.action(); }}
public class Receiver{ public void action() { System.out.println("command received!"); }}
public class Test{ public static void main(String[] args) { Receiver receiver = new Receiver(); Command cmd = new MyCommand(receiver); Invoker invoker = new Invoker(cmd); invoker.action(); }}
输出:command received!
这个很哈理解,命令模式的目的就是达到命令的发出者和执行者之间解耦,实现请求和执行分开,熟悉Struts的同学应该知道,Struts其实就是一种将请求和呈现分离的技术,其中必然涉及命令模式的思想!
其实每个设计模式都是很重要的一种思想,看上去很熟,其实是因为我们在学到的东西中都有涉及,尽管有时我们并不知道,其实在Java本身的设计之中处处都有体现,像AWT、JDBC、集合类、IO管道或者是Web框架,里面设计模式无处不在。
阅读全文
1 0
- Java开发中的23种设计模式详解----命令模式(Command)
- Java开发中的23种设计模式之十八:命令模式(Command)
- 设计模式-Java开发中的23种设计模式详解
- Java设计模式----命令模式(Command)
- Java开发中的23种设计模式详解----原型模式
- Java开发中的23种设计模式详解----适配器模式
- Java开发中的23种设计模式详解(转)
- Java开发中的23种设计模式详解(转)
- java设计模式----command模式(命令模式)
- 设计模式 - 命令模式(command pattern) 详解
- 设计模式 - 命令模式(command pattern) 详解
- 23种设计模式之命令模式(Command)
- 23种设计模式(11):命令模式(Command Pattern)
- Java开发中的23种设计模式详解(转) 设计模式(Design Patterns)
- 设计模式之命令(Command)模式详解
- 生活中的设计模式之命令(Command)模式
- Java设计模式-之Command命令模式
- JAVA设计模式九--Command(命令模式)
- kali linux 更新源问题
- Java基础--------(4)集合Conllection
- jQuery实现瀑布流(通过mock.js模拟数据)
- WIN7添加一个网络位置,每次开机都是处于断开状态,怎么样才能自动连接。
- 手机端原生H5video 和QQ浏览器 兼容性
- Java开发中的23种设计模式详解----命令模式(Command)
- TiDB 单节点部署
- 各类证件照尺寸规格
- 如何在JSP页面中直接调用Action
- 重写与重载
- 网络编程 — 端口的认识与了解
- 【0021】Visio2016安装破解教程
- Less.Html 示例二:以 Less.Html 做视图引擎
- Android7.0中文文档(API)-- SimpleCursorAdapter