问题标签 [state-machine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何用c#编写状态机?
我需要编写在 c# 中快速运行的状态机。我喜欢 Windows Workflow Foundation 库,但它太慢而且功能太多(即繁重)。我需要更快的东西,最好是使用图形实用程序来设计图表,然后吐出 c# 代码。有什么建议么?谢谢!
wpf - WPF 和状态机模式
当用户单击表单上的“下一步”按钮时,我想实现可以切换 tabItems(TabItem1、TabItem2、TabItem3)的功能。出于这个原因,我想使用状态机模式。
这些东西我已经实现了,但是我不知道对不对?:
uml - UML状态机图可以用来显示屏幕导航吗?
UML状态机图可以用来显示屏幕导航吗?
c# - 在 C# 中实现状态机的最佳(当性能很重要)方法是什么?
我想出了以下选项:
使用 goto 语句:
使用 switch 语句:
一起使用 goto 和 switch:
我更喜欢使用 goto 语句的第一个选项,因为它更快且更简洁。但我不确定这是否是最佳选择。也许性能明智,但谈到可读性我不知道。这就是我问这个问题的原因。你更喜欢哪个选项,为什么?
c# - .NET 工作流引擎建议
我遇到了stateless,一个基于Simple State Machine for Boo的分层状态机框架,但使用 C# 3.0 配置
它易于配置和使用,我可能很快就会使用它。
但我只是想知道如果
- 有人在实际项目中使用过无状态(如果是这样,您的意见是什么?)
- .NET 还有其他好的工作流引擎吗?(WF除外)
ruby-on-rails - state_machine 仅适用于新记录
我似乎无法让state_machine
gem(http://github.com/pluginaweek/state_machine/)在现有记录上工作(它在新记录上正常工作)。
这是我的模型:
这是一个演示该问题的 IRB 会话(我这样做ActiveRecord::Base.logger = Logger.new(STDOUT)
是为了使其更易于阅读):
即,当我publish
发表未保存的评论时,一切正常,但是当我尝试发布已保存的评论时,什么也没有发生。
另一个编辑:也许问题的根源?
即,即使状态实际上已经改变,state_changed?
返回 false ,因此 Rails 在我调用时不会更新相应的数据库行save
。
它在我关闭部分更新时有效,但在我尝试时无效state_will_change!
:
编辑:
更多奇葩:
相比于:
ruby-on-rails - 为 AASM 中的所有转换注册回调?
每次状态转换后我都想调用 2 种方法。现在我正在做:
显然这不是最好的方法。我在复制代码,更重要的是,当回调真正应用于整个状态机时,我将它们与特定转换相关联。有什么更好的方法来处理这个?
c# - 在 Windows 工作流的 FaultHandler 活动中捕获哪些异常
我现在正在学习 Windows 工作流,现在正在研究状态机中的异常处理。基本上我可以看到一个 FaultHandler 可用于捕获活动中抛出的特定异常。我的问题是我是否需要专门捕获每种类型的异常,或者有没有一种方法可以用一个 FaultHandler 捕获所有异常?我确定这不是最佳实践(那里有任何建议吗?),但只是有兴趣更好地理解它。
.net - Workflow Foundation StateFinalizationActivity 是否阻塞了线程?
这是场景:
我有一个使用ManualWorkflowScheduler的状态机工作流。假设有 2 个状态:State1和State2。State1 包含一个EventDrivenActivity1,它有一个SetStateActivity1将工作流从 State1 移动到 State2。State1 也有一个 StateFinalizationActivity1。
所以我的问题是:
当引发事件并且 SetStateActivity1 执行并将工作流的状态更改为 State2 时,StateFinalizationActivity1 是否在与引发导致状态更改的事件的方法相同的线程(作为调用的一部分)上执行(意思是 - 调用方方法是否具有等到 EventDrivenActivity1 和 StateFinalizationActivity1 的序列都执行了,还是在 EventDrivenActivity1 执行后返回,StateFinalizationActivity1 将在返回后执行)?