2025年spring webflux适用于什么场景(spring-webflux)

spring webflux适用于什么场景(spring-webflux)命令 Command 模式是指将请求封装成为一个对象 使发出请求和执行请求的责任分割开 方便将命令对象进行存储 传递 调用 增加与管理 也就是将发送者 接收者和调用命令封装成独立的对象 来供客户端调用 属于行为模式的一种 命令模式将发送者与接受者完全解耦 发送者与接收者之间没有直接的联系 发送者只需要如何发送请求 而不需要关心请求是如何完成的 下面就来看看命令模式的结构和实现

大家好,我是讯享网,很高兴认识大家。



命令(Command)模式是指将请求封装成为一个对象,使发出请求和执行请求的责任分割开,方便将命令对象进行存储、传递、调用、增加与管理。

也就是将发送者、接收者和调用命令封装成独立的对象,来供客户端调用。属于行为模式的一种。

命令模式将发送者与接受者完全解耦,发送者与接收者之间没有直接的联系,发送者只需要如何发送请求,而不需要关心请求是如何完成的。下面就来看看命令模式的结构和实现:

将调用者和实现者进行分离,其结构如下所示:

spring 也有一个shell模式_java
讯享网

  • :抽象命令角色,声明执行命令的接口
  • :具体命令角色,是抽象命令角色的具体实现类
  • :具体实现,具体命令对象的真正实现者
  • :调用者,处理命令、实现命令的具体操作者,负责对外提供命令服务
  • :客户端

根据上面的结构图,可以实现如下代码:

最后的客户端运行结果为:

下面来看看命令模式的应用场景

本文选取的Spring版本是5.3.1,来看看类中的方法:

spring 也有一个shell模式_ide_02

我们看到,上面的方法中定义了一个内部类,并实现了接口,点开查看详细内容:

回到方法中,我们发现最后返回的中是将内部类当做参数进行返回。这里就相当于命令模式中的具体命令对象,而则是抽象命令对象。比如还有其他具体命令实现类,比如、等等:

spring 也有一个shell模式_spring 也有一个shell模式_03

看看方法,为了方便理解,代码做了精简:

根据上面的代码,可以梳理整个执行流程:

spring 也有一个shell模式_java_04

实际上这个类是调用者(Invoker)、实现者(Receiver)和具体命令实现(Concrete Command)的集合, 则是命令的抽象接口。

模拟在餐厅中点餐交给初始烹饪的场景,在该场景中点餐人员只需要把需要点的各种菜系交给服务员,服务员再把各项菜品交给厨师进行烹饪。如下图所示:

spring 也有一个shell模式_spring 也有一个shell模式_05

我们先分析一下,命令是菜品具体实现是菜系,命令实现是厨师,调用者是服务员。所以该场景下的命令模式结构应该为:

spring 也有一个shell模式_java_06

代码目录结构为:

具体代码如下:

  1. 抽象命令者及其具体实现
  1. 抽象实现者及其具体实现
  1. 调用者及客户端

最终测试结果如下:

小讯
上一篇 2025-06-06 20:43
下一篇 2025-06-16 18:41

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181309.html