如何将有限状态机集成到我的应用程序中

How do I integrate a finite state machine into my application?

本文关键字:我的 应用程序 集成 有限状态机      更新时间:2023-10-16

您好,很抱歉,如果已经涵盖了这一点。

我主要专注于编写数字软件,但在应用程序设计方面我有点迟钝。

我已经编写了一个库,它基本上从不同的数据流或静态文件中获取输入,执行一些数据分析并将数据输出到屏幕或文件等。我决定编写一个gui应用程序,使其对用户更友好。

库调用的顺序很简单,但根据应用程序的状态,应该处理哪些事件有一些限制。也就是说,我不希望用户在处理另一个数据源时就开始从数据源获取数据。

所以我决定使用一个有限状态机。然而,我想知道将有限状态机集成到应用程序中的最佳实践是什么。我应该将其作为库的公共接口,还是应该将其本质上用作MVC框架中的控制器,库是模型,GUI是视图?或者有更好的方法来控制应用程序的流程吗?

谢谢你的帮助。

你做对了。Gui=视图,FSM=控制器,库+静态数据+数据库+模型。

话虽如此,看看是否可以将FSM进一步拆分为两部分。状态转换定义本身应该是声明性的,这样您就可以轻松地更改状态规则。FSM应该是一个简单的状态瞬态,它使用状态规则库中的规则。

您可以使用XML的变体PMML以声明方式存储规则。

看看这个,它将更雄辩地解释我试图说的话:http://en.wikipedia.org/wiki/ADAPA

(与ADAPA无关)