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

    OO基础

    抽象

    封装

    多态

    继承


    OO原则

    封装变化

    多用组合,少用继承

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

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

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

    依赖抽象,不要依赖详细类

    仅仅和朋友交谈

    别找我,我会找你

    类应该仅仅有一个改变的理由


    OO模式

    状态模式——同意对象在内部状态改变时改变它的行为,对象看起来好像改动了它的类。


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

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

    3. Context会将行为托付给当前状态对象。

    4. 通过将每一个状态封装进一个类,我们把以后须要做的不论什么改变局部化了。

    5. 状态模式和策略模式有同样的类图,可是它们的意图不同。

    6. 策略模式一般会用行为或算法来配置Context类。

    7. 状态模式同意Context随着状态的改变而改变行为。

    8. 状态转换能够由State类或Context类控制。

    9. 使用状态模式一般会导致设计中类的数目大量添加。

    10. 状态类能够被多个Context实例共享。

  • 相关阅读:
    cf 785#
    hdu 4920 Matrix multiplication
    poj 2443 Set Operation
    bzoj 3687: 简单题
    洛谷 三月月赛 C
    洛谷 三月月赛 B
    洛谷 三月月赛 A
    bzoj 3156: 防御准备
    bzoj 3437: 小P的牧场
    bzoj 3675: [Apio2014]序列分割
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4020554.html
Copyright © 2011-2022 走看看