您的位置:首页 > 其它

利用状态机使得系统设计透明

2019-08-04 20:32 1766 查看

写在前面

在整个交易平台中,会有多个系统的业务逻辑随着订单的状态变更有不同的业务规则转换,如果在系统中不对状态变更所引发逻辑做较好的设计的话,未来系统这部分代码必将越来越难以维护,变为整个系统腐朽的源头。

有限状态机

订单状态可能是“已下单” -> "已支付" -> "取消" -> "完成"等,这些状态是由某个或某几种动作所触发变更的。

针对这种有限范围内状态变更可以引入“有限状态机”(FSM)进行设计。

我们举个例子,稍晚复杂些,其他状态流转设计可以参考设计:以设备通过GPRS连接到控制中心,通过接受控制中心的指令来改变自身的运行状态,我们可以抽象出系统提供控制设备的API:

状态流转图:

整个设备拥有多个可能的状态,并且在特定状态下接受正确的指令后可以迁移到指令的目标状态,状态机有一个向量图,状态为端点,操作为边,一个状态端点在特定操作的驱动下迁移到另一个状态端点。

针对状态变更流转图可以得到如下问题:

  1. 一个状态端点可以由哪些状态端点变迁而来?
  2. 一个状态端点可以变迁到哪些状态端点去?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐