设计模式9-命令模式

命令模式
将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销
和恢复功能。
三个角色:1、Receive接收者角色;2、Command命令角色;3、Invoker调用者角色。

//抽象命令类
public abstract class Command {
	public abstract void execute();
}
//抽象接收类
public abstract class Receive {
	public abstract void doSomething();
}
//调用者类
public class Invoker {
	private Command command;

	//接受命令
	public void setCommand(Command command) {
		this.command = command;
	}
	//执行命令
	public void action(){
		this.command.execute();
	}
}
//具体命令类
public class ConcreteCommand extends Command {
	private Receive receive;
	public ConcreteCommand(Receive receive) {
		this.receive=receive;
	}
	@Override
	public void execute() {
		this.receive.doSomething();
	}

}
//具体接收类
public class ConcreteReceive extends Receive {

	@Override
	public void doSomething() {
		//处理业务逻辑
	}

}

猜你喜欢

转载自blog.csdn.net/zhuozi0810/article/details/89021675