首先,我们需要了解,什么是状态机?
有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型
在我的理解里,状态机可以描述核心业务规则,核心业务内容,总结一下就是a实体,在b状态下,由c角色,在满足d条件时,执行e操作成功后,迁移到f状态下,并产生g事件,通常用于业务复杂的订单等业务里
那么我们为什么要用到状态机呢,正常的写法也是可以实现的啊,用状态机的好处是什么?
1.不需要每个接口都校验当前状态:直接数据库配置某个状态,加某个操作,才能进行下去,如果不对的状态进行该操作,会报错
2.同一个接口配置不同的流程:同一个如审批通过的接口,不同状态下审批不通过,需要走不同的流程,如审批中审批不通过,走改变状态的流程,变更审批中审批不通过,走回退历史的版本数据的流程,如果不用状态机,则需要分开写2个接口,或者在一个接口里走