用状态机模式把 上一篇 提到的代码重构了。 但说实话,写完之后有一点点失落:只能解决50%的问题。
比如一个定价任务的状态有新建,计算中,已入账等等,每个状态的流转由用户的操作触发。这种场景是很适合用状态机的。但是,通常系统底层还会有更多“对用户不可见”的状态,比如计算可能分为多个阶段完成,每个阶段的异常依赖于各种定时调度、消息等机制作为补偿,那么阶段的状态如果再嵌套一个状态机来实现就有点过度设计了。
伤感~
用状态机模式把 上一篇 提到的代码重构了。 但说实话,写完之后有一点点失落:只能解决50%的问题。
比如一个定价任务的状态有新建,计算中,已入账等等,每个状态的流转由用户的操作触发。这种场景是很适合用状态机的。但是,通常系统底层还会有更多“对用户不可见”的状态,比如计算可能分为多个阶段完成,每个阶段的异常依赖于各种定时调度、消息等机制作为补偿,那么阶段的状态如果再嵌套一个状态机来实现就有点过度设计了。
伤感~
本文标题:状态机的能与不能
本文链接:https://www.haomeiwen.com/subject/rhrsmqtx.html
网友评论