设计模式:状态模式(学习笔记)

 状态模式原理:

         一个糖果机项目:

              0.智能糖果机,用Java软件控制糖果机:
              1.待机
              2.投入一元硬币
              3.转动把手
              4.滑落一颗糖果
              5.待机(根据机器内糖果库存情况,是否提示售罄)

         对应状态图:

                             设计模式:状态模式(学习笔记)


加入游戏元素:有10%的概率可以拿到2粒糖果

设计模式:状态模式(学习笔记)


状态模式:能根据内部状态的变化,改变对象的行为,看起来好像修改了类

设计模式:状态模式(学习笔记)


状态模式意义:

        原则对修改代码关闭,对扩展开放,状态模式变化部分:状态有可能会增加,继承超类,扩展状态,实现对扩展的开放,同时,继承不会对超类,及其余子类不影响。

        策略模式、状态模式、模板模式各自的含义几区别:

        策略模式:某个特性不一样,抽象化类族,特性变更后状态不变,初始化设定行为;

        装套模式:某个状态不同,不同状态切换来完成不同的动作。状态模式每个部分都是完整的;

        模板模式:具体到动作,封装动作行为,行为动作属于一系列,每个动作是一个部分,,诶个部分单独分装,所有部分平起来形成整体;

        策略模式一般情况下可以作为状态模式的基础