![]() |
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、斯卡拉和其他许多语言。 |
![]() |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 6 年前 |
![]() |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 7 年前 |
![]() |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
![]() |
RudziankoÅ · 合并排序数组算法 7 年前 |
|
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
![]() |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
![]() |
hippietrail · 确定浮点数中前导零的数量 7 年前 |