.NET Core上的状态机库Stateless 3.0怎么理解


今天就跟大家聊聊有关.NET Core上的状态机库Stateless 3.0怎么理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Stateless是一个基于C#,创建状态机的简单库,最新版本支持.NET Core 1.0。其实现方式并不是通过.NET Core,而是通过写入.NET Standard实现的。就像Android平台上API级别抽象出许多底层版本的Android,.NET Standard是一组所有.NET平台上都必须实现的API。更令开发者高兴的是,Stateless 3.0基于.NET Standard 1.0编写,是一个被广泛使用和最具兼容性的标准版本,几乎可以运行在任何地方,从Windows平台上的.NET Framework、.NET Core到Mac,和Windows应用商店以及所有的移动平台。特征:支持大多数标准状态机构造:支持任何.NET类型(数字、字符串、枚举等)状态和触发器;分层状态;状态的进入/退出事件;Guard子句以支持条件转换;内省。与此同时,还提供一些有用的扩展:支持外部的状态存储(例如:由ORM跟踪属性);参数化触发器;可重入状态;支持DOT格式图导 香港云主机出。使用Stateless创建一个简单的状态机下面来看几个代码示例。先描述一些有限状态,例如一个枚举类型和一些用于改变状态的有限“触发器”,就像开发一样,来启动和关闭状态以及进行触发器切换。
另一个更加实用的例子是Bug Tracker,源码在GitHub上。下面是一个Bug和触发器状态,引起状态改变:下面进行状态初始化,定义StateMachine,如果你愿意,可以在状态触发时传递参数。例如,如果你使用Assign触发Bug,可以传入“Scott”,这样该Bug就会进入Assigned状态——分配给Scott。在这个例子中,Bug构造函数使用一个流畅接口的状态机,该接口读得相当不错。例如,当状态打开时,可以进行分配,但是,由于它是被写入的(你可以改变),所以你无法关闭一个处于开放状态并且没有分配的Bug。当Bug被分配时,你可以关闭,延迟或重新分配。这是PermitReentry()。另外,注意一下,Assigned是一个子状态。你可以有状态地改变触发事件,这些事件可以根据您的个人设置采取行动。拥有一个好的状态机库,例如Stateless,可以让你快速地模拟状态。能否分享一下,你在项目中使用的状态机是什么样子的?看完上述内容,你们对.NET Core上的状态机库Stateless 3.0怎么理解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注开发云行业资讯频道,感谢大家的支持。

相关推荐: 怎么进行WebBenchmark的动态数据测试

这篇文章将为大家详细讲解有关怎么进行WebBenchmark的动态数据测试,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 对于很多WebApi管理工具来说,针对接口的性能测试都拿固定的数据进行一个循环式的测试;…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 10/13 17:11
下一篇 10/13 17:12

相关推荐