-3

定义发生事情时要做的一切,

我非常感谢,

但从未尝试过。

我的问题是:如何设计一个基于状态机的系统?

4

4 回答 4

2

你看过状态模式吗?也在这里Apache Commons SCXML 也可能对您有用。

于 2009-06-04T12:03:23.117 回答
1

成吨成吨的小虫子。

我建议你先查一下有限状态机的理论基础,了解它们适合什么样的任务。

http://en.wikipedia.org/wiki/Finite 状态机是一个很好的起点。

于 2009-06-04T12:51:32.460 回答
1

“状态事件”驱动的架构被用于相当多的应用领域。事实上,有一个称为smc(状态机编译器)的工具,它采用状态机的规范(很像 lex 和 yacc 采用扫描仪和解析器定义)并生成 C 或其他语言的代码来实现它。

于 2009-06-04T11:11:36.077 回答
1

根据我的经验,状态机的基础是 switch 语句。

其中的每个案例都代表您机器的一个状态。

switch 语句需要定期调用,这可以在编码循环中,也可以在事件处理程序中。这实际上取决于您的状态机在做什么,您希望您的软件如何运行或做出反应。

您可以从 case 语句中更新状态变量以更改状态。

于 2009-06-04T12:36:15.673 回答