<tfoot id='emCxg'></tfoot>

        <bdo id='emCxg'></bdo><ul id='emCxg'></ul>
      <i id='emCxg'><tr id='emCxg'><dt id='emCxg'><q id='emCxg'><span id='emCxg'><b id='emCxg'><form id='emCxg'><ins id='emCxg'></ins><ul id='emCxg'></ul><sub id='emCxg'></sub></form><legend id='emCxg'></legend><bdo id='emCxg'><pre id='emCxg'><center id='emCxg'></center></pre></bdo></b><th id='emCxg'></th></span></q></dt></tr></i><div id='emCxg'><tfoot id='emCxg'></tfoot><dl id='emCxg'><fieldset id='emCxg'></fieldset></dl></div>
    1. <legend id='emCxg'><style id='emCxg'><dir id='emCxg'><q id='emCxg'></q></dir></style></legend>
    2. <small id='emCxg'></small><noframes id='emCxg'>

      1. .NET 的状态机框架

        State Machine Frameworks for .NET(.NET 的状态机框架)

      2. <legend id='ZCK4Z'><style id='ZCK4Z'><dir id='ZCK4Z'><q id='ZCK4Z'></q></dir></style></legend>
      3. <small id='ZCK4Z'></small><noframes id='ZCK4Z'>

            • <bdo id='ZCK4Z'></bdo><ul id='ZCK4Z'></ul>

                  <tbody id='ZCK4Z'></tbody>
                1. <tfoot id='ZCK4Z'></tfoot>
                  <i id='ZCK4Z'><tr id='ZCK4Z'><dt id='ZCK4Z'><q id='ZCK4Z'><span id='ZCK4Z'><b id='ZCK4Z'><form id='ZCK4Z'><ins id='ZCK4Z'></ins><ul id='ZCK4Z'></ul><sub id='ZCK4Z'></sub></form><legend id='ZCK4Z'></legend><bdo id='ZCK4Z'><pre id='ZCK4Z'><center id='ZCK4Z'></center></pre></bdo></b><th id='ZCK4Z'></th></span></q></dt></tr></i><div id='ZCK4Z'><tfoot id='ZCK4Z'></tfoot><dl id='ZCK4Z'><fieldset id='ZCK4Z'></fieldset></dl></div>
                  本文介绍了.NET 的状态机框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我的工作中有一个系统,它基本上是一个消息驱动的状态机.它接收各种类型的消息,根据消息查找一些上下文/状态,然后根据消息和当前状态决定要做什么.通常结果是一条消息被发送出系统.

                  We have a system at my work that is basically a message-driven state machine. It takes in a variety of types of messages, looks up some context/state based on the message, then decides what to do, based on the message and the current state. Normally the result is a message being sent out of the system.

                  是否有任何好的开源框架可以在 .NET 中实现状态机?我查看了最新版本的 Windows Workflow,它似乎是一个不错的选择;但是,我对默认的持久性机制(我们需要报告状态转换数据)、可测试性以及 WF 团队正在重新构建框架这一事实(据推测)存在一些担忧.

                  Are there any good open-source frameworks for implementing a state machine in .NET? I've looked into the latest release of Windows Workflow, and it seems like it would be a good option; however, I have some concerns about the default persistence mechanisms (we need to report off the state transition data), testability, and the fact that the WF team is re-architecting the framework as we speak (supposedly).

                  我正在考虑尝试实现一个普通的 GoF状态"模式,而不是 WF,并使用 Spring.NET 将所有内容连接在一起.有没有什么东西已经这样做了,或者类似的东西?

                  Instead of WF, I'm thinking of trying to implement a plain-old GoF "State" pattern, and using Spring.NET to wire everything together. Is there anything out there that already does this, or something similar?

                  推荐答案

                  根据您的具体要求,您可能会找到 状态机编译器 足以实现 GoF状态"模式.它可以生成 C# 以及可以使用 Graphviz 转换为多种图像格式的点.我在以前的项目中使用过它,发现它足以生成简单"状态机.我希望这有帮助.

                  Depending on your exact requirements you might find the State Machine Compiler is sufficient for implementing the GoF "State" pattern. It can generate C# as well as dot which can be transformed into several image formats using Graphviz. I've used it on a previous project and found it sufficient for generating a 'simple' state machine. I hope this helps.

                  这篇关于.NET 的状态机框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Multicast delegate weird behavior in C#?(C# 中的多播委托奇怪行为?)
                  How to store delegates in a List(如何将代表存储在列表中)
                  Delegate.CreateDelegate() and generics: Error binding to target method(Delegate.CreateDelegate() 和泛型:错误绑定到目标方法)
                  CreateDelegate with unknown types(具有未知类型的 CreateDelegate)
                  Does Funclt;Tgt;.BeginInvoke use the ThreadPool?(Funclt;Tgt;.BeginInvoke 使用线程池吗?)
                  How to create a delegate to an instance method with a null target?(如何为具有空目标的实例方法创建委托?)
                  <legend id='GKKFU'><style id='GKKFU'><dir id='GKKFU'><q id='GKKFU'></q></dir></style></legend>

                  • <tfoot id='GKKFU'></tfoot>

                    <small id='GKKFU'></small><noframes id='GKKFU'>

                      <tbody id='GKKFU'></tbody>
                      1. <i id='GKKFU'><tr id='GKKFU'><dt id='GKKFU'><q id='GKKFU'><span id='GKKFU'><b id='GKKFU'><form id='GKKFU'><ins id='GKKFU'></ins><ul id='GKKFU'></ul><sub id='GKKFU'></sub></form><legend id='GKKFU'></legend><bdo id='GKKFU'><pre id='GKKFU'><center id='GKKFU'></center></pre></bdo></b><th id='GKKFU'></th></span></q></dt></tr></i><div id='GKKFU'><tfoot id='GKKFU'></tfoot><dl id='GKKFU'><fieldset id='GKKFU'></fieldset></dl></div>

                            <bdo id='GKKFU'></bdo><ul id='GKKFU'></ul>