设计模式笔记:如何实现状态模式详解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2458个文字,预计阅读时间需要10分钟。
状态模式(State Pattern)允许一个对象在其内部状态改变时改变其行为。对象看起来像是修改了它的类。通常用于实现状态机,常用于游戏、工作流引擎等系统的开发中。
状态模式(State Pattern)指允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。
一般用来实现状态机,而状态机常用在游戏、工作流引擎等系统的开发中:
有限状态机(Finite State Machine,FSM),状态机有三个组成部分:状态(State)、事件(Event)和动作(Action)。其中事件也叫作转移条件(Transition Condition),事件主要用于触发状态的转移及动作的执行,动作不是必须的,也可能只转移状态,不执行任何动作。
一、状态模式的介绍状态模式又名状态对象(Objects for States),它是一种对象行为型模式。它的解决思想是当控制一个对象状态转换的条件表达式过于复杂时,把相关“判断逻辑”提取出来,用各个不同的类进行表示,系统处于哪种情况、直接使用相应的状态类对象进行处理。
1.1 状态模式的结构在状态模式的结构中,通过实现抽象状态类的具体状态类来定义多个状态,每个状态类仅实现自己的逻辑,上下文类负责切换状态。
本文共计2458个文字,预计阅读时间需要10分钟。
状态模式(State Pattern)允许一个对象在其内部状态改变时改变其行为。对象看起来像是修改了它的类。通常用于实现状态机,常用于游戏、工作流引擎等系统的开发中。
状态模式(State Pattern)指允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。
一般用来实现状态机,而状态机常用在游戏、工作流引擎等系统的开发中:
有限状态机(Finite State Machine,FSM),状态机有三个组成部分:状态(State)、事件(Event)和动作(Action)。其中事件也叫作转移条件(Transition Condition),事件主要用于触发状态的转移及动作的执行,动作不是必须的,也可能只转移状态,不执行任何动作。
一、状态模式的介绍状态模式又名状态对象(Objects for States),它是一种对象行为型模式。它的解决思想是当控制一个对象状态转换的条件表达式过于复杂时,把相关“判断逻辑”提取出来,用各个不同的类进行表示,系统处于哪种情况、直接使用相应的状态类对象进行处理。
1.1 状态模式的结构在状态模式的结构中,通过实现抽象状态类的具体状态类来定义多个状态,每个状态类仅实现自己的逻辑,上下文类负责切换状态。

