zoukankan      html  css  js  c++  java
  • 20、状态模式

    状态模式 State

    在状态模式中,类的行为是基于它的状态改变的,这种类型的设计模式属于行为型模式

    在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 Context 对象

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

    主要解决:对象的行为依赖于它的状态,并且可以根据它的状态改变而改变它的相关行为

    何使使用:代码中包含大量与状态相关的条件语句

    如何解决:将各种具体的状态类抽象出来

    优点:

    1.封装了转换规则

    2.枚举可能的状态,在枚举状态之前,需要确定状态的种类

    3.将所有与某个状态有关的行为放到一个类中,并且可以方便的新增状态

    缺点:

    1.增加系统类与对象的个数

    2.状态模式的结构与实现都比较复杂

    3.状态模式对开闭原则支持不好

    参考:https://www.runoob.com/design-pattern/state-pattern.html

  • 相关阅读:
    fabu dao fenleizhong
    net core 发布到服务器的方式
    暗示net core
    new post
    gg
    asb
    Nodejs 8.0 踩坑经验汇总
    禁止未发布的博文上首页等
    SortedList
    JSON.stringify 语法实例讲解
  • 原文地址:https://www.cnblogs.com/bytecodebuffer/p/10532697.html
Copyright © 2011-2022 走看看