zoukankan      html  css  js  c++  java
  • 【HeadFirst设计模式】10.状态模式

    定义:

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

      

    OO原则:

      封装变化

      多用组合,少用继承

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

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

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

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

      只和朋友交谈

      别找我,我会找你

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

    要点:

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

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

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

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

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

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

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

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

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

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

      

  • 相关阅读:
    十天冲刺:第四天
    十天冲刺:第三天
    会议2.3
    会议2.2
    会议2.1
    团队绩效管理
    Alpha版(内部测试版)发布
    意见汇总
    建议汇总
    会议1.10
  • 原文地址:https://www.cnblogs.com/laizhd/p/3633994.html
Copyright © 2011-2022 走看看