bertilmuth/act: 用 Java 构建状态机、状态图和工作流


例如,查看以下购物车状态机。
它代表了它要么是空的,要么是非空的两种基本状态。
AddItem 触发器导致对非空购物车状态的更改。
如果购物车仅包含 1 个项目,则 RemoveItem 触发器会导致对空购物车状态的更改。

Act 使用不变条件来检查状态机是否处于某个状态。
这是带有状态不变量的状态机图(黄色便笺)。

以下是状态机在代码中的呈现方式: