有限状态机
有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机(英语:finite-state automation,缩写:FSA),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。
用于编程中,有以下优点:
- 统一退出逻辑
- 代码容易维护,只需要写好代码片段
- 易扩展,同理只需要扩展编写代码片段
以下以 2 个项目中的实际例子,来展示下有限状态机的威力
压测工具应用有限状态机
压测工具,会模拟每个账号行为:
- 从登陆开始(包括登陆中的每个步骤)
- 到在线(执行压测用例中的每个步骤)
- 到登出
然后反复
由于压测过程中,账号特别容易因为各种原因退出。如果让账号能正常运作,也是编写压测工具的一个小难点
如果使用有限状态机,则可以非常简单的解决上述这些问题
见一个实作中的压测工具有限状态机: