更新:
我选择了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);
如您所见,状态机使用泛型来对状态及其各自的触发器进行建模.换句话说,您可以使用枚举,整数,字符串等来满足您的需求.状态机的每个状态都可以配置条件触发器,这些条件触发器将根据特定条件触发.
样品参考:
> Simple State Machine project on CodePlex
> Stateless on Google Code
以上是大佬教程为你收集整理的任何人都可以推荐一个.Net开源替代Windows Workflow?全部内容,希望文章能够帮你解决任何人都可以推荐一个.Net开源替代Windows Workflow?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。