• 作者:老汪软件技巧
  • 发表时间:2024-09-10 15:01
  • 浏览量:

本篇简单介绍下squirrel-foundation(松鼠状态机)了解的可以跳过。

if/else和switch对比条件方式判断方式相对效率应用范围可读性

if/else

逐级条件判断

条件自由组合、万金油

switch

跳跃式

单一值匹配

其实本篇主题是记录下状态机(squirrel-foundation)的基本用法,难免不了要和内置的基本语法实现做比较,由于才疏学浅不知道该怎么简明扼要的描述它的优势。

_松鼠模式是什么意思_松鼠智能装备制造有限公司

明显的优势就是在语法和扩展性上直接带来的便捷;让水平不高的我也可以写出清晰优雅的代码。当然写业务前梳理完整的业务状态变换是必要的功课。

状态机可以使用条件分支判断、状态模式和基于DSL来实现,其中更具表达性的DSL也是很多开源状态机的实现方式。

squirrel-foundation(松鼠状态机)

squirrel-foundation有限状态机,我理解可以穷举业务流程状态了。非穷举的我到目前接触的是工作流通过xml描述流程。

通过这个图结合下面的入门的一些API调用可以更好的了解整个过程。

大概的过程分为:定义-》触发-》事件执行-》AOP(处理)-》异常处理

入门案例

StateMachine接口采用四个泛型类型参数。StateMachine

参数解释

代表已实现状态机的类型 ,, 也就是状态机本体

代表实现状态的类型

代表已实现事件的类型

代表已实现的外部上下文的类型