框架建设实战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

相关推荐
共享家95271 天前
搭建 AI 聊天机器人:”我的人生我做主“
前端·javascript·css·python·pycharm·html·状态模式
We1ky1 天前
从零到一:我的javascript记忆翻转卡牌游戏诞生记
状态模式
Elieal2 天前
Spring MVC 全局异常处理实战
spring·mvc·状态模式
Elieal2 天前
统一 JSON 格式,JacksonObjectMapper 定制 Spring Boot JSON 转换规则
spring boot·json·状态模式
前端不太难2 天前
HarmonyOS PC 应用,先做文档模型
华为·状态模式·harmonyos
前端不太难2 天前
HarmonyOS 走向 PC,应用模型正在重构
重构·状态模式·harmonyos
进击的小头2 天前
行为型模式:状态模式——嵌入式状态管理的优雅解决方案
c语言·状态模式
洋不写bug3 天前
JavaEE基础,计算机是如何工作的
java·java-ee·状态模式
前端不太难3 天前
HarmonyOS 游戏里的“假异步”,为什么会卡
游戏·状态模式·harmonyos
阿珊和她的猫3 天前
React 路由:构建单页面应用的导航系统
前端·react.js·状态模式