设计模式之命令模式
来源:互联网 发布:linux vim 命令大全 编辑:程序博客网 时间:2024/04/30 20:48
命令模式:先看个栗子,假如你老板命令你完成一个OA项目,看下这个过程有什么特点:
1、在上面的命令中,命令的执行者肯定是聪明的你了。具体的执行方法,可能是通过vs实现,或者是通过eclipse实现,由此看来:命令要有个命令的执行者(Invoker),执行者有个执行的动作(execute),还要有个命令的执行方法(Receiver)。
2、命令的发出者很明显是老板,老板还有个发出方法,可能是通过电话给你说,也可能给你邮件给你说,也可能是通过开会给你说。所以命令的发出者要有一个命令(Command),还要有个发出的方法(setCommand)。
UML图如下:
代码如下:
public interface Command { public void execute();}public class ConcreteCommand implements Command { private Receiver receiver = null; private String state; public ConcreteCommand(Receiver receiver){ this.receiver = receiver; } public void execute() { receiver.action(); }}public class Receiver { public void action(){ //真正执行命令操作的功能代码 }}public class Invoker { private Command command = null; public void setCommand(Command command) { this.command = command; } public void runCommand() { command.execute(); }}
0 0
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之--命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之--命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之 命令模式
- Android之ListView下拉刷新和上拉加载实现详解(含源码Demo)
- IE6下iFrame页面嵌套html空白问题解决
- Socket.io的实时竞拍系统实现
- Java开发Web Service的简介
- php 学习笔记 —— 变量 数据类型 数组 (二)
- 设计模式之命令模式
- QT + Win7 SDK 中文时 乱码 常量中有换行符 问题
- 猫猫学iOS之UIButton一行代码重写图片和标题位置源代码分享
- Android Studio之Eclipse工程代码搬家
- 华硕 RT-AC54U路由器固件功能说明
- Git分支本地操作详解
- ios中TableView的长按触发事件
- 今日BBC
- JSP会话跟踪学习记录