zoukankan      html  css  js  c++  java
  • 设计模式课程 设计模式精讲 27-1 状态模式讲解

    1    课程讲解

    1.1  类型:

    1.2  定义:

    1.3  适用场景:

    1.4  优点:

    1.5  缺点:

    1.6  状态模式相关的设计模式


    1    课程讲解
    1.1  类型:

    行为型

    1.2  定义:

    ◆允许一个对象在其内部状态改变时,改变它的行为

    对象状态改变,其行为也需要改变或者不改变。

    解决的问题是,当控制一个对象状态转换的过程比较复杂的时候,这样就可以把状态的判断逻辑转移到表示不同状态的一系列类当中。

    例如课程播放有暂停,播放,快进不同的状态,把这些状态放入到不同的状态类当中。

    1.3  适用场景:

    ◆一个对象存在多个状态(不同状态下行为不同),且状态可相互转换

    不同状态下行为不同,如:网站平台下单后一定时限内状态正常可以付款,而超过这个时限后,状态失效,无法再继续付款

     又如:电梯运行状态不可以开门,在电梯停靠到楼层以后,可以开门。

    1.4  优点:

    ◆将不同的状态隔离
    ◆把各种状态的转换逻辑,分布到State的子类中,减少相互间依赖
    ◆增加新的状态非常简单

    1.5  缺点:

    ◆状态多的业务场景导致类数目增加,系统变复杂

    1.6  状态模式相关的设计模式

    状态模式和享元模式

    它们可以配合使用,状态无属性的情况下,可以用享元模式在多个上下文角色之间共享这些状态实例。

     

  • 相关阅读:
    TLS,SSL,HTTPS with Python(转)
    编码(转)
    python获取shell输出(转)
    python 线程安全
    Sublime Text3 运行python(转)
    KVM和QEMU的关系(转载)
    全虚拟化和半虚拟化(转)
    VMWare Workstation和VMWare vSphere(转)
    /etc/cron.d添加定时任务脚本后不生效
    Linux -- 部分命令
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/12406802.html
Copyright © 2011-2022 走看看