命令模式与它在源码中的运用

1,107 阅读1分钟

将每一个请求当做一个命令,存下具体的命令接收者,然后等待着命令被执行或者被取消,当命令被执行时,可以先记录先执行了那些命令,接着命令接收者开始执行自己的操作。

如果明确知道或者可以推断出命令的接收者,也可不不在命令中存储,直接由命令本身去推断或者执行调用接受者

访问流程如下

命令模式可运行案例戳这里

命令模式在Hystrix中的运用

这对不同的场景,用户需要创建继承HystrixCommand的类

class DefaultSettingCommand extends HystrixCommand<String>

然后针对每个请求创建一个新的命令来执行

DefaultSettingCommand defaultCommand = new DefaultSettingCommand(logicService,word);
defaultCommand.execute();

Hystrix了解可以戳这里
继承HystrixCommand完整可执行的实例请戳这里

通常可以使用命令模式的情况

需要对每个请求做出特定的处理。包括对请求重新赋予另一个生命周期、重新安排请求的执行时间/顺序/撤销请求、记录请求的执行记录或者是在原请求上再构建一个高层次的操作