简介
状态图主要用于描述对象在其生命周期中各种状态、状态之间的转换过程、触发状态转换的各种事件(条件)及执行的动作。
状态图构建步骤
- 找出适合用状态图描述的类、确定类中需要做状态图的重要对象
- 确定重要对象的主要状态、状态之间的转换事件、条件、动作、初次态等
- 细化状态之间的复杂转换和详细事件
- 精化复合状态、并发区域等
状态图与状态机
状态图的基础是状态机,熟悉状态图之前需要对状态机有大致的了解。
状态机是有限状态机的简称,可以用来模拟世界上的大部分事物。简单地说,状态机有三个特性、四个要素
工作原理:发生事件(Event)后,根据当前状态(Current State)决定执行的动作(Action),并设置下一个状态(Next State)。以进程调度为例:
三个特性
- 有限状态机的状态(State)总数是有限的
- 状态机任一时刻只处于一种状态之中
- 在特定的条件(也称事件Event)被满足时,状态机会执行相应的动作(Action)从一种状态转换(Transition)到另一个状态
四个要素
- 现态:当前所处状态
- 条件:又称为事件(Event),当一个条件被满足时就会触发一个动作,引起状态的一次转换
- 动作:条件满足后触发的动作
- 次态:满足某种条件触发了相应动作后所转换到的新状态,"次态"和"现态"的概念都是相对的,状态转移后"次态"就变成了"现态"