美文网首页
State(状态)模式

State(状态)模式

作者: iEugene | 来源:发表于2021-01-09 20:22 被阅读0次
  1. 特点:在面向对象编程思想中,万物皆为对象,状态也不例外。状态也可以抽象为类,状态类实例化后就是一个具体的状态对象。
    程序中通常都会有很多逻辑判断if ... else ...,像这样一组逻辑判断几乎都可以抽象为一个状态类,每一个分支为一个状态对象。但实际编程中没必要每次都这样做,只有在相同的一组逻辑判断多次(两次以上)出现在程序当中且每次出现的时候,相同的分支需要不同的算法,就可以使用状态模式进行优化,尤其是每个逻辑分支都很复杂的情况,即分而治之,方便复杂逻辑分支的维护和扩展管理。
  2. 角色
角色名称 角色职责
State(状态) 定义状态相关处理接口
ConcreteState(具体状态) 根据不同状态实现State定义的相关接口
Context(状况、前后关系、上下文) 持有当前状态的State实例,并对State进行管理,如:切换,访问等
  1. 角色关系

    State.png
  2. 代码示例State

以上文献参考:《图解设计模式》

相关文章

  • State模式

    状态模式(State模式) 定义 状态模式,又称状态对象模式(Pattern of Objects for S...

  • State状态模式

    状态模式的核心是将状态抽象为类,然后将状态的改变包含在类中,这样就避免了在client中写出大量的if...els...

  • 状态模式(State)

    结构 模式的组成环境类(Context): 定义客户感兴趣的接口。维护一个ConcreteState子类的实例,...

  • 状态模式(State)

    定义允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects fo...

  • 状态模式-state

    允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了他的类 state是一个接口,定义了基本操作,co...

  • 状态模式(State)

    1、概念 状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它所属的类,属于行为型模式。 2...

  • 状态模式(State)

    状态模式(State),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。代替大量if el...

  • 状态模式(State)

    参考博客iOS App的设计模式开发中对State状态模式的运用 使用场景: 例子1:按钮来控制一个电梯的状态,一...

  • 状态(State)模式

  • State 状态模式

    设计原则学习笔记 设计模式学习笔记 作用 将一个类在不同状态下的操作组合起来,成为一个类。方便不同状态下的操作切...

网友评论

      本文标题:State(状态)模式

      本文链接:https://www.haomeiwen.com/subject/mbocaktx.html