状态机-基本概述
前言 有限状态机(英语:finite-state machine,缩写:FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移 和动作等行为的数学模型。应用FSM模型可以帮助对象生命周期的状态的顺序以及导致状态变化的事件进行管理。将状态和 事件控制从不同的业务方法的分支中抽离出来。FSM的应用范围很广,对于有复杂状态流,扩展性要求比较高的场景都可以 使用该模型。后续围绕一个简单订单流程进行展开深入解剖状态机引擎在生产开发中使用。 技术选型 关于状态机引擎的选型,其实目前市面上有不少框架,github上按照statemachine关键字搜索可以出来好多结果。 考虑到资料完备情况、与项目的集成容易程度、框架是否尚在维护等条件,这里选择spring statemachine 看spring的产品,首先看其quickstart项目,然后根据reference做字典式学习, 官网: http://projects.spring.io/spring-statemachine 对应的reference: https://docs.spring.io/spring-statemachine/docs/2.2.0.RELEASE/reference 以及对应的源码&samples: https://github.com/spring-projects/spring-statemachine