行为模式之命令模式
来源:互联网 发布:ipadian 安装软件 编辑:程序博客网 时间:2024/05/16 08:36
命令模式
命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
构成
1、客户端(Client)角色:创建一个具体命令(ConcreteCommand)对象并确定其接收者。
2、命令(Command)角色:声明了一个给所有具体命令类的抽象接口。
3、具体命令(ConcreteCommand)角色:定义一个接收者和行为之间的弱耦合;负责调用接收者的相应操作。
4、请求者(Invoker)角色:负责调用命令对象执行请求,相关的方法叫做行动方法。
5、接收者(Receiver)角色:负责具体实施和执行一个请求。任何一个类都可以成为接收者,实施和执行请求的方法叫做行动方法。
java.lang.Runnable是典型的命令模式
//抽象命令interface Command { void execute();}class Receiver { //真正执行命令相应操作 public void action() { System.out.println("执行操作"); }}//具体命令class ConcreteCommand implements Command { private Receiver receiver = null; public ConcreteCommand(Receiver receiver) { this.receiver = receiver; } @Override public void execute() { receiver.action(); }}class Invoker { private Command command = null; public Invoker(){ } public Invoker(Command command) { this.command = command; } public void action() { command.execute(); } public void setCommand(Command command) { this.command = command; }}public class Test { public static void main(String[] args) { Receiver receiver = new Receiver(); Command command = new ConcreteCommand(receiver); Invoker invoker = new Invoker(command); invoker.action(); /* Java 8 Invoker invoker = new Invoker(); Receiver receiver = new Receiver(); invoker.setCommand(() -> receiver.action()); invoker.action(); */ }}
0 0
- 行为模式之命令模式
- 行为模式之命令模式
- 行为型之命令模式
- 行为模式之命令模式(command)
- 《JAVA与模式》之命令模式(行为)
- 设计模式-行为型之命令模式
- 【设计模式】行为模式之Command命令
- 行为型模式之命令模式实现
- 行为模式-命令模式
- 行为模式-命令模式
- 命令模式 - 行为模式
- java 设计模式-行为模式之命令模式
- Java设计模式之行为型模式(命令模式)
- 设计模式(四):行为型模式之命令模式
- 行为型模式之命令COMMAND
- 行为型模式----命令模式
- 命令模式-对象行为模式
- 行为型模式-命令模式
- Fresco简单的使用—SimpleDraweeView
- LTE系统信息(2)-SIB的周期调度
- poj 1995 Matrix Power Series 二分+矩阵快速幂
- ActionBar
- linux sublime [转载]
- 行为模式之命令模式
- eclipse常用快捷键
- 使用CoordinatorLayout时的注意事项
- Linux中ls和cd
- Java Web文件下载
- 【新手建站三部曲之二】——Window和Linux文件传输(samba服务器搭建)
- 【Codeforces Round #376 (Div. 2)】 Codeforces 731E Funny Game
- 设计模式-Prototype
- LevelDb实现原理