有没有人在你的项目中使用类似架构的“状态机”?

时间:2009-06-04 11:02:09

标签: state-machine

定义发生事情时要做的所有事情,

我真的很感激,

但从未尝试过。

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

4 个答案:

答案 0 :(得分:2)

你看过State Pattern了吗? Also hereApache Commons SCXML也可能对您有用。

答案 1 :(得分:1)

'状态事件'驱动的体系结构用于很多应用程序域。事实上,有一个名为smc(状态机编译器)的工具,它采用状态机的规范(很像lex和yacc采用扫描器和解析器定义),并用C或其他语言生成代码来实现它。

答案 2 :(得分:1)

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

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

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

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

答案 3 :(得分:1)

Tons and tons of the buggers。

我建议你首先查看有限状态机的理论基础,并了解它们适合的任务类型。

http://en.wikipedia.org/wiki/Finite state machine是一个很好的起点。