首页 > 其他 > 详细

状态模式

时间:2015-11-12 23:30:09      阅读:308      评论:0      收藏:0      [点我收藏+]
1、状态模式:当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。
2、解决的问题:当控制一个对象状态转换的条件表达式过于复杂时,把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的逻辑简化。将与特定状态相关的行为局部化,并且将不同状态的行为分割开来。
3、优点:(1)、将特定的状态相关的行为都放入一个对象中,由于所有与状态相关的代码都放在状态类对象中,所以通过定义行的子类可以很容易得增加新的状态和转换。(2)、消除了庞大的添加分支语句,大的风之判断会使得他们难以修改和扩展。状态模式通过各种状态转移逻辑分布到子类之间,减少了相互之间的依赖。
4、适用场合:当一个对象的行为取决于它的状态,并且它必须在运行中,时刻根据自己的状态改变它的行为时,就可以考虑使用状态模式。
5、组成:
(1)、上下文环境:它定义了客户程序需要的几口并维护一个具体状态角色的实例,将与状态相关的操作委托给当前状态的对象来处理。
(2)、抽象状态类:定义一个接口封装使用上下文环境的特定状态相关行为。
(3)、具体状态类:实习抽象状态定义的接口。

状态模式

原文:http://www.cnblogs.com/zxtp/p/4960469.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!