状态模式

1. 定义

允许一个对象在其内部状态改变时改变它的状态。对象看起来似乎修改了它的类

2.结构

Context:上下文环境

State: 接口

ConcreteState: 具体实现状态处理类

 

3. 认识状态模式

3.1 状态和行为

所谓对象的状态,通常指的就是对象实例的属性的值,而行为指的就是对象的功能,再具体点说,行为大多可以对应到方法上。

状态模式的功能就是分离状态的行为,通过维护状态的变化,来调用不同状态对应的不同功能。也就是说,状态和行为是相关联的,它们的关系可以描述为状态决定行为

3.2  行为平行性

平行指相互独立,没有关联,不可替换

平等性强调的是可替换性

3.3 上下文和状态处理对象

上下文持有状态的对象,但不处理跟状态相关的行为,而是把处理状态的功能委托给了状态对应的状态处理类来处理。

3.4 状态的维护和转换控制

维护:保存状态的数据

转换:状态的切换

(1)状态上下文

(2)状态处理类

4. 本质

根据状态来分离和选择行为

5. 相关模式

策略模式

观察者模式

单例模式

 

posted on 2016-08-02 23:10  zhaojunyang  阅读(117)  评论(0)    收藏  举报

导航