生如春花之绚烂,逝如秋叶之静美

使用FSM进行复杂订单状态管理(3)

我们接着上面一篇文章,这次我们需要利用有限状态机来实战的解决订单状态的管理问题。

使用FSM进行复杂订单状态管理(3)

使用FSM进行复杂订单状态管理(2)

接着上一篇文章,我们这次来设计一个简单可扩展的有限状态机。

根据有限状态机的定义,我们的状态机将有三部分组成:

  • 状态类 - 负责承载状态信息
  • 事件类 - 负责记录事件发生的信息并执行转移函数
  • 管理器类 - 负责记录状态转移表并管理当前的状态

下面让我们开始建模。

使用FSM进行复杂订单状态管理(2)

使用FSM进行复杂订单状态管理(1)

在商城类项目过程的开发过程中我们常常会遇到订单状态的管理问题,当所涉及到的订单状态不多时,我们通常可以对每一种状态设置标志字符串,通过简单的判断来进行状态管理。

使用FSM进行复杂订单状态管理(1)