我需要实现一个非确定性的 FSM,所以我想出了定义一个 FSM 类的想法,该类包含状态和转换(可能取决于也可能不取决于其他 FSM 的状态,但必须取决于事件/输入)每个对象并将静态 std::map 添加到每个 FSM 将在构造时注册的类。这样,在事件/输入上,每个 FSM 可以在需要时查找其他 FSM 的状态并做出相应的行为,而无需将所有 FSM 组合成一个巨大的确定性 FSM。
这适用于一个 NFSM,这是我现在所需要的,但如果需要更多,可以扩展吗?这种设计有什么根本错误吗?
我需要实现一个非确定性的 FSM,所以我想出了定义一个 FSM 类的想法,该类包含状态和转换(可能取决于也可能不取决于其他 FSM 的状态,但必须取决于事件/输入)每个对象并将静态 std::map 添加到每个 FSM 将在构造时注册的类。这样,在事件/输入上,每个 FSM 可以在需要时查找其他 FSM 的状态并做出相应的行为,而无需将所有 FSM 组合成一个巨大的确定性 FSM。
这适用于一个 NFSM,这是我现在所需要的,但如果需要更多,可以扩展吗?这种设计有什么根本错误吗?