标签:command 接收 block receive rgs lov 接口 日志功能 override
个人博客
命令模式是行为型设计模式之一。
将请求封装成一个对象,从而让用户使用不同的请求把客户端参数化;对请求排除或者记录请求日志,以及支持可撤销操作。
需要抽象出待执行的动作,然后以参数的形式提供出来
在不同的时刻指定、排列和执行请求。
需要支持取消操作。
支持修改日志功能。
需要支持事务操作。
定义命令接收者,即执行者
public class Receiver {
    
    /**
     * 真正执行具体命令的方法
     */
    public void action()
    {
        System.out.println("执行具体的操作");
    }
}
定义命令的接口类
public interface Command {
    
    /**
     * 执行具体操作的命令
     */
    public void execute();
}
定义命令的实现类
public class CommandImpl implements Command {
    private Receiver receiver;
    public CommandImpl(Receiver receiver) {
        super();
        this.receiver = receiver;
    }
    @Override
    public void execute() {
        receiver.action();
    }
}
定义请求者
public class Invoker {
    private Command command;
    public Invoker(Command command) {
        super();
        this.command = command;
    }
    public void action() {
        command.execute();
    }
}
调用
public static void main(String[] args) {
        Receiver receiver = new Receiver();
        Command command = new CommandImpl(receiver);
        Invoker invoker = new Invoker(command);
        invoker.action();
    }标签:command 接收 block receive rgs lov 接口 日志功能 override
原文地址:https://www.cnblogs.com/milovetingting/p/12207948.html