首页 > 其他 > 详细

【HeadFirst设计模式】10.状态模式

时间:2014-03-30 19:25:37      阅读:500      评论:0      收藏:0      [点我收藏+]

定义:

  允许对象在内部状态改变时改变它 行为,对象看起来好像修改了它的类。

  bubuko.com,布布扣

OO原则:

  封装变化

  多用组合,少用继承

  针对接口编程,不针对实现编程

  为交互对象之间的松耦合设计而努力

  类应该对扩展开放,对修改关闭

  依赖抽象,不要依赖具体类

  只和朋友交谈

  别找我,我会找你

  类应该只有一个引起改变的理由

 

要点:

  状态模式允许一个对象基于内部状态而拥有不同的行为。

  和程序状态机不同,状态模式用类代表状态。

  Context会将行为委托给当前的状态对象。

  通过将每个状态封装进一个类,我们以后需做的任何变化都局部化了。

  状态模式和熏模式有相同的类图,但是它们的意图不同。

  策略模式通常会用行为或者算法来配置Context类。

  状态式允许Context随着状态的改变而改变行为。

  状态转换可以由State类或Context类控制。

  使用状态模式通常会导致设计中类的数目大量增加。

  状态类可以被多个Context实例共享。

  

【HeadFirst设计模式】10.状态模式,布布扣,bubuko.com

【HeadFirst设计模式】10.状态模式

原文:http://www.cnblogs.com/laizhd/p/3633994.html

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