Android设计模式之命令模式
来源:互联网 发布:神州数码通用软件 编辑:程序博客网 时间:2024/05/29 04:29
通过将一系列的操作封装成一个命令对象,方便执行,同时也能够很好的让我们进行一些操作回滚,用来记录是否执行过该操作等问题。
我们将某些操作封装成一个Command命令,每个命令对应一个操作,如下图所示:
Command
public interface Command { void execute();}
ConcreteCommand
public class ConcreteCommand implements Command { private Receiver receiver; public ConcreteCommand(Receiver receiver) { this.receiver = receiver; } @Override public void execute() { this.receiver.action(); }}
Receiver
public class Receiver { public void action() { System.out.println("执行动作"); }}
这样我们就可以通过命令的方式来对我们的操作进行管理了。
上面已经把我们的操作抽象为命令的方式,每个命令对应一个行为操作,下面就是对命令的触发了。我们通过一个单独的类来对命令进行管理和触发。
Invoker
public class Invoker { private Command command; // 这里凡是继承 Command 接口的类都可以以参数的形式传入 public void setCommand(Command command) { this.command = command; } public void action() { this.command.execute(); // 而所有继承自 Command 接口的类都必须实现 execute() 这个方法 }}
这样就形成了整个命令模式。
Client
public class Client { public static void main(String args[]) { Receiver receiver = new Receiver(); Command command = new ConcreteCommand(receiver); Invoker invoker = new Invoker(); invoker.setCommand(command); invoker.action(); }}
Android中的命令模式
Android中的Runnable就是一种命令模式。例如:
new Thread(new Runnable() { @Override public void run() { } }).start();
跟上面相比,命令的行为这里直接写在命令中,并没有单独为命令写一个行为对象。
0 0
- Android设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之--命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之--命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- Mac Firefox vimperator
- JAVA中的反射机制
- python matplotlib绘图使用中文字体
- 创建和操作表
- 纯CSS3实现图片展示特效
- Android设计模式之命令模式
- [ITOO]动态建库
- 计算机词汇之鬼话连篇
- 安全总结
- VMware Workstation 12.1.1安装Centos7图文版(多图、详细)
- html5 audio音频播放全解析
- jsp简单的计算器如何在本页显示数据
- 起点网络备用列表
- Java Web笔记三