|
|
1
1
状态设计模式是实现FSM的一种有趣的方法: http://en.wikipedia.org/wiki/State_pattern 这是一种非常干净的实现FSM的方法,但根据您的FSM的复杂性(但不是状态的数量),它可能会很混乱。然而,其优势在于:
在这个站点上有一个Java和C++实现: |
|
|
2
1
这里总是我所说的飞行意大利面怪兽执行FSMS(FSM风格FSMS)的风格:使用lotsa
很好的意大利面代码:—) |
|
|
3
1
我把它当作一张表,一个平面数组放在内存中,每个单元都是一个状态。请看一下 the abandoned DFA project . 为了 example :
但这是一个非常特殊的需求(匹配正则表达式) |
|
|
4
1
我记得我的第一个FSM计划。我用C写的很简单 转换 语句。从一个状态切换到另一个状态,或者从后到下一个状态似乎是很自然的。 然后我开始使用 表查找方法 . 我可以使用这种方法编写一些非常通用的编码样式。但是,当需求发生变化时,有几次我被抓住了,我必须支持一些额外的事件。 我最近没有写任何FSM。我写的最后一个是C++中的一个CAMS模块,在这里我用了一个 状态设计模式 “结合a” 命令模式 “(行动)。 |
|
|
5
0
如果您正在创建一个复杂的状态机,那么您可能需要签出 SMC -状态机编译器。这需要一个状态机的文本表示,并将其编译成您所选择的语言——它支持Java、C、C++、Cype、Python、Ruby、斯卡拉和其他许多语言。 |