Spring Statemachine 业务应用

本文介绍了Spring Statemachine在处理有限状态机业务中的应用,阐述了状态机模型的4个要素:现态、条件、动作、次态。讨论了使用Spring Statemachine的好处,特别是在流程性和状态变化为主的项目中的优势。同时,提到了在多状态机共存的场景下,如何动态创建和配置状态机,并通过Message<EventEnum>实现状态转变时的参数传递。最后,提供了业务抽象的例子和官方文档链接作为参考。
摘要由CSDN通过智能技术生成

1  前言   什么是Spring Statemachine

有限状态机,简称状态机(FSM),是一种对有限个状态,以及这些状态之间的流转和动作等行为的数据建模。

使用 FSM 模型,可以有助于这些状态的顺序、导致这种状态变化的事件进行管理,主要用于将状态和时间的控制权从不同业务的 services 方法中的 if else 逻辑中抽离出来,进行统一的管理和配置。对于有复杂的状态流,扩展性要求比较高的场景都可以使用该模型。

面是状态机模型中的4个要素,即现态、条件、动作、次态。

  • 现态:是指当前所处的状态。
  • 事件:又称为“条件”。当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。
  • 动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。
  • 次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。

2 使用 spring Statemachine 的好处

2.1 什么时候使用spring statemachine

        在做软件项目的时候,我们会以各种各样的角度看一个项目,比如OOP,万物皆对象,一个订单就是一个对象,所谓的状态变化,无非就是订单这个对象的变量在不停的变化,变化的过程就是对象的方法;再比如数据库,万物无非CRUD的组合,订单不过就是增删改查,数据库原子操作的组合罢了。这些角度对吗?可以说都对,因为用这些角度都

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值