我们正在考虑在我们的系统中采用状态机无状态框架,但我们有一个我还不明白的要求,无状态框架是否可以提供帮助,或者是否会增加我们系统的复杂性。
为什么要改变?因为系统正在增长并且我们想要删除的每个状态机之间都有一些依赖关系。此外,使用开源和结构良好的框架总是更好地创建一个新框架。
示例:我们有一个状态非确定性机器 [SM_A],它派生出 [n] 个新状态机 [SM_B]。[SM_A] 的最后状态取决于所有 [SM_B] 分叉。每个分叉,工作结束后加入 SM_A,通知他验证是否所有的 SM_B 都完成了。当所有分叉完成时,SM_A 将继续。此外,所有状态都需要持久化,因为此时我们等待一个动作来“唤醒”所有分叉 [SM_B]。
(伪状态:http ://www.uml-diagrams.org/state-machine-diagrams.html#fork-pseudostate )
下图说明了流程:
对不起,如果你不明白。