主页

索引

模块索引

搜索页面

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. 状态模式
    对于状态并不多、状态转移也比较简单,
    但事件触发执行的动作包含的业务逻辑可能比较复杂的状态机来说,我们首选这种实现方式。

主页

索引

模块索引

搜索页面