State-状态模式¶
备注
allows an object to alter its behavior when its internal state changes.
状态机有 3 个组成部分:状态(State)、事件(Event)、动作(Action)。其中,事件也称为转移条件(Transition Condition)。事件触发状态的转移及动作的执行。
状态机实现方式:
1. 分支逻辑法
利用 if-else 或者 switch-case 分支逻辑,参照状态转移图,
将每一个状态转移原模原样地直译成代码。
对于简单的状态机来说,这种实现方式最简单、最直接,是首选。
2. 查表法
对于状态很多、状态转移比较复杂的状态机来说,查表法比较合适。
通过二维数组来表示状态转移图,能极大地提高代码的可读性和可维护性。
3. 状态模式
对于状态并不多、状态转移也比较简单,
但事件触发执行的动作包含的业务逻辑可能比较复杂的状态机来说,我们首选这种实现方式。