温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何理解xState

发布时间:2021-11-22 18:00:53 来源:亿速云 阅读:169 作者:柒染 栏目:大数据

如何理解xState,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

xState

A state machine editot and runtime. Can be used to model simple workflow

简介

xState编辑器是一个允许开发人员创建状态机的编辑器,通过通用直观的解决方案。

如何理解xState

适用场景

状态机用处极其广泛,适用于订单,用户,任务等等具有确定状态的领域模型

特点

  1. 结合模型和代码

  2. 可以创建仅包含状态和变迁的状态机

  3. 也可以提供状态变迁时的触发器

状态转移触发器

  1. EntryAction

  2. ExitAction

  3. TransitionAction

状态转移校验

TransitionGuard 

如何理解xState

使用范例

模型可以被工具用于在运行时触发状态转移

如何理解xState

如何传递业务属性

有些时候需要传递业务信息给状态机的各个触发器做判断,虽然缺省的Event类里面没有这些属性,但由于Event 是个普通类,用户可以自定义自己的Event子类,在子类里面定义需要的业务属性。允许时可以在各个Action里面cast 标准的Event 为你自定义的Event类即可获得额外的属性。

如何恢复状态机之前的状态

有时需要保存状态机的当前状态,并在之后恢复。可以通过调用StateMachine的restore(String id),传入需要恢复的状态id实现。

如何重置状态机

在状态机没有处于End状态的情况下,可以通过调用reset()方法重置状态机的状态。

集成说明

参考样例POM

Depenency

<dependency>
	<groupId>com.xrosstools</groupId>
	<artifactId>xstate</artifactId>
	<version>${latest}</version>
</dependency>

Demo project

Demo

实际案例

简单状态机

如何理解xState

复杂状态机

如何理解xState

关于如何理解xState问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI