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

相关推荐
半生过往11 天前
前端工程师学习智能体开发(一)
前端·学习·状态模式
Wang's Blog11 天前
Java框架快速入门: Spring Security+OAuth2之单点登录(SSO)实战
服务器·spring·状态模式
JianZhen✓12 天前
解决SPA发版旧版本残留+动态路由打包失效的完整方案(附落地代码)
前端·状态模式
2501_9339232513 天前
统一功能:统一返回格式+统一异常处理
spring·java-ee·状态模式·统一数据返回
小肥君13 天前
前端测试websocket
前端·websocket·状态模式
Wang's Blog13 天前
Java框架快速入门: Spring Security+OAuth2之前后端分离多模块工程配置
java·spring·状态模式
weixin_4935036715 天前
Vue3 前端生成 PDF:会员证书与活动签到表的三种打印方案与踩坑记录
前端·pdf·状态模式
晴天1616 天前
前端跨域方案解析:JSONP 的原理、实战与演进
前端·状态模式
晴天1616 天前
HTML iframe 标签全面解析:原理、属性、实战场景与最佳实践
前端·html·状态模式