.Net堆栈中的
Windows Workflow有哪些替代方案?如果您已经使用了这些解决方案,那么您可以通过Windows Workflow选择它们,这是一个不错的选择.
更新:
我选择了Nicholas Blumhardt创造的stateless.这是一种非常简单的方法来对域中的状态进行建模.以下是google提供的示例代码:
var phoneCall = new StateMachine<State,Trigger>(State.OffHook); phoneCall.Configure(State.OffHook) .Allow(Trigger.CallDialed,State.Ringing); phoneCall.Configure(State.Ringing) .Allow(Trigger.HungUp,State.OffHook) .Allow(Trigger.CallConnected,State.Connected); phoneCall.Configure(State.Connected) .OnEntry(t => StartCallTimer()) .OnExit(t => StopCallTimer()) .Allow(Trigger.LeftMessage,State.OffHook) .Allow(Trigger.HungUp,State.OffHook) .Allow(Trigger.PlacedOnHold,State.OnHold); phoneCall.Configure(State.OnHold) .SubstateOf(State.Connected) .Allow(Trigger.TakenOffHold,State.Connected) .Allow(Trigger.HungUp,State.OffHook) .Allow(Trigger.PhoneHurledAgainstWall,State.PhoneDestroyed);
如您所见,状态机使用泛型来对状态及其各自的触发器进行建模.换句话说,您可以使用枚举,整数,字符串等来满足您的需求.状态机的每个状态都可以配置条件触发器,这些条件触发器将根据特定条件触发.
Windows Workflow Foundation在某些情况下,对我来说感觉像是一个过分的杀手.然后,实现自己的工作流引擎变得更加容易和简单.
样品参考:
> Simple State Machine project on CodePlex
> Stateless on Google Code
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。