状态(State)模式

对于有状态的对象,状态变化时,如果使用if-else或者swith-case来做状态判断,执行不同的逻辑。
  1. 模式动机
  2. 模式定义
    状态模式(State Pattern) :允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。
  3. 模式结构
    状态模式包含如下角色:
    • Context: 环境类
    • State: 抽象状态类
    • ConcreteState: 具体状态类
  4. 时序图
  5. 代码分析
  6. 模式分析
  7. 实例
  8. 简单工厂模式的有点
  9. 简单工厂模式的缺点
  10. 适用环境
  11. 模式应用
  12. 总结