框架建设实战5——状态机组件

在大部分业务中,状态机处理比较常见,且相当重要。比如电商的订单场景。

状态机:英文叫StateMachine。顾名思义,根据状态进行流程驱动的机器。

状态机的语义比较容易理解。调用示例代码如下:

java 复制代码
builder.externalTransition()

            .from(States.STATE1)

            .to(States.STATE2)

            .on(Events.EVENT1)

            .when(checkCondition())

            .perform(doAction());

其语义解释为:某个状态跳转到下个状态,会通过事件event来触发,并判断满足什么样的条件;若满足,则状态发生变更,并执行一定的动作。

方案实现:

本方案直接采用阿里大佬张建飞(Frank)的方案:状态机说明及实现

组件命名:

当然,框架的组件,无非将上述方案开源的代码 fork一份,自行包装即可 。由于此状态机方案无状态,在此采用util 类型的组件。即可以将之命名为:frame-util-statemachine

相关推荐
small_wh1te_coder2 天前
GCC深度剖析:从编译原理到嵌入式底层实战
汇编·c++·面试·嵌入式·状态模式·c
一个高效工作的家伙4 天前
amis表单较验
状态模式
zhysunny8 天前
20.万物皆可变身术:状态模式架构全景解析
java·状态模式
橘色的喵10 天前
嵌入式C语言编程:策略模式、状态模式和状态机的应用
c语言·状态模式·策略模式·状态机
跟着珅聪学java12 天前
Spring MVC 教程
状态模式
小傅哥13 天前
【分享】拼团交易平台系统,分布式、高并发、微服务
分布式·微服务·状态模式
mit6.82415 天前
[Agent开发平台] API网关 | 业务领域 | DTO格式 | 分页令牌
人工智能·golang·状态模式
飏旎16 天前
对于前端闭包的详细理解
前端·状态模式
曾经的三心草16 天前
微服务的编程测评系统9-竞赛新增-竞赛编辑
微服务·架构·状态模式
Haven-17 天前
黑马商城微服务-下
微服务·架构·状态模式