标签:
1. 定义
允许一个对象在其内部状态改变时改变它的状态。对象看起来似乎修改了它的类
2.结构
Context:上下文环境
State: 接口
ConcreteState: 具体实现状态处理类
3. 认识状态模式
3.1 状态和行为
所谓对象的状态,通常指的就是对象实例的属性的值,而行为指的就是对象的功能,再具体点说,行为大多可以对应到方法上。
状态模式的功能就是分离状态的行为,通过维护状态的变化,来调用不同状态对应的不同功能。也就是说,状态和行为是相关联的,它们的关系可以描述为状态决定行为
3.2 行为平行性
平行指相互独立,没有关联,不可替换
平等性强调的是可替换性
3.3 上下文和状态处理对象
上下文持有状态的对象,但不处理跟状态相关的行为,而是把处理状态的功能委托给了状态对应的状态处理类来处理。
3.4 状态的维护和转换控制
维护:保存状态的数据
转换:状态的切换
(1)状态上下文
(2)状态处理类
4. 本质
根据状态来分离和选择行为
5. 相关模式
策略模式
观察者模式
单例模式
标签:
原文地址:http://www.cnblogs.com/zhaojunyang/p/5731130.html