美文网首页
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(状态)模式

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