c# - 有限状态机应该有一个 "nested"有限状态机吗?

标签 c# c#-3.0 finite-automata

您可以阅读 this question我在这里问了一个关于机器应用程序的最佳架构的小背景故事,尽管这对于帮助我解决这个问题并不是完全必要的。

我对有限状态机的理解(尤其是对于实现)有点年轻,可能还欠缺一点,但我正在将这个应用程序作为一个来实现,而且我有一个地方需要嵌套有限状态机。基本上机器有一些高级状态(冷[又名刚刚启动]、归巢、设置、准备运行、运行、报告、重置)但是当机器运行时它需要有它自己的小 FSM 实现(加载镜头、定位边缘、测量楔形、测量圆度和完成 [可能还有更多内容])。

我的问题是:我是否应该构建具有“嵌套状态”的功能,其中一个状态可以有一个子状态列表并且系统可以进入这些子状态并且这些子状态可以返回到父状态?或者我应该将 FSM 实现放在运行状态中,并将它们作为两个不同的 FSM 保存?还是您认为我在做或想的事情很蠢,应该重新考虑一下?

欢迎提出想法、建议、批评和建议。

最佳答案

嵌套状态机是 UML 中的标准概念,因此这不一定是愚蠢的。 More details here .

关于c# - 有限状态机应该有一个 "nested"有限状态机吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1324403/

相关文章:

javascript - 在React中,有限状态机是否取代了路由器的角色?

c# - EF6 嵌套事务

c# - 如何使 ToolStrip 按钮立即可点击而无需先点击表单?

computer-science - 计算理论 - 证明一种语言是规则的

java - Java 中的 HTML 词法分析器

xna - DrawUserIndexedPrimitives 用于单独的网格

c# - WPF 中的可选控件

c# - 自动连接到 Windows 10 上的 MS 无线显示器

java - 如何将Java代码转换为C#代码?

c# - 有没有一种简洁的方式来装饰匿名类型?