面向对象的分析与设计—状态机
状态机
- 状态机是一种行为,它说明对象在其生命周期中响应事件所经历的状态变化序列以及对应的那些时间的响应。
- 早期,状态模型反映的是业务,现在也可以反映对象;
- 一般情况下,一个状态机依附于一个类,用来描述这个类的实例的状态及转换,和对接收到的事件所做出的响应。也可以依附于用例,操作,协作等元素上,描述他们的执行过程。
- 状态模型:主要有状态,转换,事件,动作和活动5部分组成。(也可以说是由结束,状态,事件3部分组成)
- 状态机图:
黑原点:开始
——>:状态转换
带圆角的方框:状态
状态图组成:
- 状态**:当对象满足某一条件,该状态被称为**的;
- UML中:分为简单状态(就是没有嵌套的状态)和复合状态;
- 初态(状态机的入口状态)、终态(状态机的出口状态)
简单状态
转换
转换-事件
伪状态:
无需人工触发,时间短,一般瞬间自动完成。
复合状态
- 指包含一个或多个状态的状态;
- 分为
顺序复合状态(非正交状态):
并发复合状态(正交符合状态):包括两个或多个并发执行的子状态机的符合状态;
历史状态(符号:圆圈里面加H):应用于符合状态的伪状态,他代表上次离开时该复合状态时的最后一个子状态;不作为单独的状态出现,而是把它标记在一个状态里面;