C#是否包含有限状态机?
-
05-07-2019 - |
题
我最近读过关于boost::statechart
库(有限状态机)的文章,我很喜欢这个概念。
C#是否有类似的机制?或者可以使用特定的设计模式实现吗?
其他提示
.NET 4 Update 1现在支持以下类: System.Activities.Statements.StateMachine
Workflow Foundation (.NET 3.0)具有状态机工作流程。 4.0目前没有完全相同的东西,但你绝对可以使用4.0创建一个状态机工作流程。
我维护了一个开源项目,该项目实现了.NET的通用有限状态机(除此之外)。它建立在 QuickGraph 之上,因此您可以免费获得许多图形分析算法。
有关该项目的更多信息,请参见此页,特别是<!> quot; Jolt.Automata:有限状态机 <!> quot;有关该功能的更多信息。
查看Stateless - <!> gt; http://code.google.com/p/stateless/ 。它是重型WWF的轻量级替代品。
以下是该工具的作者的几篇文章:
接近FSM的是.NET 3.5中的工作流程,但是,工作流程也不完全是FSM。
使用FSM的强大之处在于,您可以在代码中创建显式,从而减少创建错误的机会。此外,当然有些系统本质上是FSM,所以对它们进行编码就更自然了。
Windows Workflow Foundation(WF)是3.0和3.5中基类库的一部分,它包括一个状态机工作流设计,用于管理应用程序的状态机。
他们已完全重写了即将发布的4.0版本的工作流程,而新的WF 4.0类本身并不支持状态机,但4.0版本仍然完全支持所有3.0 / 3.5类。
不隶属于 StackOverflow