这里只是浅显的说一下命令模式,不涉及深入
命令模式是把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求吧客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
package com.hh.Command;
/**
* 接收者
* @author hh
*
*/
public class Receiver {
public Receiver() {
}
/**
* 行动方法
*/
public void action() {
System.out.println("Action has been taken");
}
}
package com.hh.Command;
/**
* 命令角色
* @author hh
*
*/
public interface Command {
/**
* 执行方法
*/
void execute();
}
package com.hh.Command;
/**
* 具体命令者
* @author hh
* 2017-10-11
*/
public class ConcreteCommand implements Command {
private Receiver receiver;
public ConcreteCommand(Receiver receiver) {
this.receiver = receiver;
}
@Override
public void execute() {
receiver.action();
}
}
package com.hh.Command;
/**
* 请求者
* @author hh
* 2017-10-11
*/
public class Invoker {
private Command command;
public Invoker(Command command) {
this.command = command;
}
public void action() {
command.execute();
}
}
package com.hh.Command;
public class Client {
public static void main(String[] args) {
Receiver receiver = new Receiver();
Command command = new ConcreteCommand(receiver);
Invoker invoker = new Invoker(command);
invoker.action();
}
}
本文来自《java与模式》一书,为自主学习用