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  状态模式相关的设计模式

    状态模式和享元模式

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

     

  • 相关阅读:
    iterm2 配色修改
    让Dock自动 显示/隐藏 不再有延迟
    Xcode更改配色方案
    CocoaPods安装与使用
    CocoaPods安装和使用及问题:Setting up CocoaPods master repo
    CocoaPods安装和使用教程
    RubyGems 镜像
    iOS Mac系统下Ruby环境安装
    MAC机中安装RUBY环境
    Kibana+Logstash+Elasticsearch 日志查询系统
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/12406802.html
Copyright © 2011-2022 走看看