# pt-state-machine **Repository Path**: sqdpt/pt-state-machine ## Basic Information - **Project Name**: pt-state-machine - **Description**: 简单状态机 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-01 - **Last Updated**: 2025-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pt-state-machine #### 介绍 这是一个简单易用的状态机框架,用于管理状态之间的转换和相关操作。适用于需要状态转换逻辑处理的场景。 #### 软件架构 该项目基于 Java 枚举和泛型实现,主要组件如下: - **PtStateAction**: 定义状态转换时执行的动作接口。 - **PtStateEvent**: 表示触发状态转换的事件,包含事件类型和对应的动作。 - **PtStateMachine**: 抽象类,用于管理状态机的转换逻辑,提供执行状态转换的方法。 - **PtStateTranslate**: 表示一个状态转换规则,包含源状态、目标状态、事件和动作。 - **PtStateTranslateBuilder**: 构建状态转换规则的辅助类,用于初始化状态机。 #### 使用说明 1. 定义状态和事件的枚举类型。 2. 实现 `PtStateMachine` 抽象类,并通过 `PtStateTranslateBuilder` 初始化状态转换规则。 3. 调用 `execute` 方法触发状态转换。 #### 示例代码 ```java public class ExampleMachine extends PtStateMachine { @Override public List> initMachine(PtStateTranslateBuilder ptStateTranslateBuilder) { return ptStateTranslateBuilder .addTranslate(StateEnum.START, TargetEnum.MIDDLE, EventEnum.TRIGGER, (sourceState, context) -> { System.out.println("转换到中间状态"); return TargetEnum.MIDDLE; }) .build(); } } ``` #### 如何贡献 欢迎提交 Issue 和 Pull Request,帮助改进状态机的功能和文档。 #### 许可证 本项目采用 MIT 许可证。详情请查看 LICENSE 文件。