我发现,所有的状态机文章都是先给你上来讲状态机背景、选择、原理、概念、图例等等等等。。。。就是没人讲状态机的理解。
我对状态机实战的理解就是:
事件驱动状态变化!!!事件驱动状态变化!!!事件驱动状态变化!!!
重要的事情说三遍。
比如说从文章从待发布变为已发布的状态变化业务,其实对于使用状态机来说,就是通过状态机的service调用事件,事件是什么?就是状态变换对应的操作,有点绕?不急,你这样理解:比如发布文章,那就是一个事件。我发布文章那就对应状态从待发布变为已发布,这就是状态机。
那直接调用就是:
状态机Service.sendEvent(业务id,发布文章(也就是事件));
至于状态机的其它代码,在我理解就是这样:

这样画明白了吧,其实很简单,不要想的很复杂。
代码就不贴了,网上很多,这里放一些我参考的链接:
一个轻量实用的Java状态机框架--Cola-StateMachine_cola状态机-CSDN博客
聊聊Cola-StateMachine轻量级状态机的实现-腾讯云开发者社区-腾讯云

2663

被折叠的 条评论
为什么被折叠?



