无状态的比较(上谷歌code)和Windows Workflow状态、上谷歌、code、Windows

2023-09-03 08:35:45 作者:︶ㄣ純爺們←┈

我开始想,我应该抛弃的Windows WF赞成简单的东西。我不一定需要暂停工作流执行的时间过长并在以后恢复它们。我想一个简单的状态机的框架,确实有基本的挂起/恢复/终止(无序列化),但是。

I'm starting to think that I should ditch Windows WF in favor of something simpler. I don't necessarily need to pause workflow execution for extended periods of time and restore them later. I would like a simple state machine framework that does have basic suspend / resume / abort (without serialization), however.

我已经下载从谷歌code 的无国籍框架,现在要开始播放有了它,但很想听听其他.NET程序员,在使用。

I've downloaded the Stateless framework from Google Code and am going to start playing with it, but would love to hear what the other .NET programmers out there are using.

修改无状态似乎真的很容易实现,但我不知道这是正确的事情的糖果机。在自动化,我总觉得对冲突状态机应该如何使用。虽然我使用了国家机器,我这样做是松散的,因为我用它更像是一个流程图。而不是使用状态,重新present当前模式的机器是,我用它来执行的功能。因此,在这种情况下与无状态的,其实我是用从一个状态到下的机制的转变调用函数在我的糖果机的控制器。思考?

EDIT Stateless seems really simple to implement, but I do wonder if it's the right thing for a candy machine. In automation, I always feel conflicted about how state machines should be used. Although I use the term "state machine", I do so loosely because I use it more like a flow chart. Instead of using states to represent the current mode a machine is in, I use it to execute functions. So in this case with Stateless, I'd actually be using the transition from one state to the next as the mechanism for calling functions in my candy machine's controller. Thoughts?

推荐答案

当我通过这个工作,我会尝试列出的一些事情我发现。最有可能是从分析的角度来看(尤其是因为我是新来的两个框架)有点肤浅,但希望这将帮助别人。

As I work through this, I'll try to list some of the things I'm finding. Most will likely be a bit superficial from an analysis standpoint (especially since I'm new to both frameworks), but hopefully it will help someone out.

无国籍

赞成的

开源 语法简洁,易于阅读 在对谷歌code善变的回购pretty的很好的例子 我可以使用无状态很快翻译我的UML状态图到code。 在状态检修很简单 - 我可以添加和删除自如。扩展方法让我在不同的线路配置状态,这样我就可以发表意见了,我不想使用触发器或行动。 将数据传递到/从状态机是很简单的,你可以做到这一点,但是你想在code-落后。 同样地,状态机可以以各种方式更新GUI。现在,我通过接口修改数据,然后将GUI使用一个定时器来更新它的元素。我也很可能在一个BackgroundWorker来做到这一点。 在我刚开始使用子状态来处理我的GUI,这需要管理不同的国家,如正在运行,暂停,中止,和空闲。暂停状态有子状态,因为用户可以暂停系统中的各种方式,但在恢复触发特定于它们被暂停的方式。我喜欢能够管理自己的GUI的启用/使用轻量级的状态机框架禁用和提示。

缺点的

没有内置的暂停,恢复机制,终止 在只有一个开发配套项目。但是我没有得到一个问题,我最近碰到的援助。 潜在的滥用,如果你不小心。我实现了状态机框架上的不当,我第一次尝试。这几个月伟大的工作,并最终将其去世时,我跑了很长时间运行的过程。原来我是造成国家处理程序堆叠起来,我有一个堆栈溢出的情况。

的Windows Workflow Foundation

赞成的

图形化的方法来设计工作流程 支持的持久性,暂停,恢复,终止工作流程 在MS可能有程序员的一个大的团队来支持这种 在图形用户界面使得它可以很容易地关闭/重新启用活动

缺点的

图形化的方法来设计工作流隐藏的事实,这一点是pretty的复杂 在为了使用的持久性,并获得暂停/恢复/终止,您必须安装并设置了持久性服务,这是我到目前为止还没有弄清楚如何获得工作。我可以设置SQL数据库很好,但在运行时,我收到了一堆错误,我不明白。 ,因为它是从MS,你不知道这是否就在附近很长或得到完全丢弃。 在错误处理是一个有点古怪,因为您可以用$ C $落后C或A FaultHandler 将数据从WF到您的主要应用是复杂的,需要像WCF(另一种技术,我没有足够的时间来充分了解现在),或使用ExternalDataExchange接口。
 
精彩推荐
图片推荐