码迷,mamicode.com
首页 > 其他好文 > 详细

状态模式

时间:2016-08-03 00:07:58      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!