定义发生事情时要做的所有事情,
我真的很感激,
但从未尝试过。
我的问题是: 如何设计基于状态机的系统?
答案 0 :(得分:2)
你看过State Pattern了吗? Also here。 Apache Commons SCXML也可能对您有用。
答案 1 :(得分:1)
'状态事件'驱动的体系结构用于很多应用程序域。事实上,有一个名为smc(状态机编译器)的工具,它采用状态机的规范(很像lex和yacc采用扫描器和解析器定义),并用C或其他语言生成代码来实现它。
答案 2 :(得分:1)
根据我的经验,状态机的基础是switch语句。
其中的每个案例代表您机器的状态。
需要定期调用switch语句,这可以在编码循环内,也可以在事件处理程序中。这实际上取决于您的状态机正在做什么,您希望软件如何运行或做出反应。
从case语句中更新状态变量以更改状态。
答案 3 :(得分:1)
Tons and tons of the buggers。
我建议你首先查看有限状态机的理论基础,并了解它们适合的任务类型。