在我的工作中,我们有一个系统,它基本上是一个消息驱动的状态机。它接收各种类型的消息,根据消息查找一些上下文/状态,然后根据消息和当前状态决定要做什么。通常,结果是一条消息被发送出系统。
有没有什么好的开源框架可以在 .NET 中实现状态机?我查看了最新版本的 Windows Workflow,它似乎是一个不错的选择;但是,我对默认的持久性机制(我们需要报告状态转换数据)、可测试性以及 WF 团队在我们所说的(假设)重新构建框架这一事实有些担忧。
而不是WF,我正在考虑尝试实现一个普通的GoF“状态”模式,并使用Spring.NET将所有东西连接在一起。有没有什么东西已经这样做了,或者类似的东西?