有限状态机是一种用于对事物或者对象的行为进行建模的工具,广泛在互联网场景下包括但不限于订单、客服、配送等场景,尤其是订单场景经常会使用到有限状态机用于建模。 状态机具有四要素:
现态:对象当前所处的状态。
条件:触发一种动作,当满足某种条件后会触发某种动作。
动作:在满足条件后执行的动作,执行动作可以迁移到一个新的状态也可以维持原有状态不变,动作不是必须的,满足条件后也可以直接对状态进行迁移。
次态:满足条件后迁移到的新的状态。
学习状态机最好是有一个实际的例子,这里我们设想了一种简单的买卖交易场景,系统状态流状态如下所示:
系统总共有7种状态:订单已提交、买家待付款、卖家待发货、卖家已发货、买家已收货、交易成功、订单取消。