我正在尝试对状态机进行建模,该状态机可重用状态以降低复杂性。 我有三种状态:状态A,B和X。
我的状态X可以通过状态A或B的交易进入。
状态X包含具有很多复杂性的多个子状态,我不会重复实现它。
状态X的过程完成后,我需要根据先前的状态回到状态A或B。
有解决这个问题的优雅方法吗?
答案 0 :(得分:2)
状态X包含多个具有高度复杂性的子状态,我不会重复实现它
定义与您的状态X相对应的子计算机,并在当前计算机中使用子计算机状态在需要的位置实例化它
请参见formal-17-12-05中的§14.2.3.4.7子计算机状态和第311页的子计算机:
子机是一种可重复使用单个StateMachine规范的方式。它们与封装的复合状态相似,因为它们需要将传入和传出的Transition绑定到其内部顶点。
...
注意。每个子计算机状态代表一个子计算机的不同实例,即使两个或多个子计算机状态引用同一子计算机也是如此。
答案 1 :(得分:1)