1

嗨,对不起,如果这已经被覆盖了。

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

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

必须进行库调用的顺序相当简单,但是根据应用程序所处的状态,应该处理哪些事件有一些限制。即我不希望用户在数据源中开始抓取它们已经从另一个处理。

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

谢谢你的帮助。

4

1 回答 1

1

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

话虽如此,看看你是否可以进一步将 FSM 分成两部分。状态转换定义本身应该是声明性的,以便您可以轻松更改状态规则。FSM 应该是一个简单的状态传输器,它使用状态规则库中的规则。

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

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

(与 ADAPA 无关)

于 2012-09-21T19:29:41.207 回答