状态模式

状态模式定义

允许一个对象在其内部状态改变的时候改变它的行为,对象看起来是别的类修改了它的类。

状态模式详解

使用场景

一个对象操做中含有大量的状态,而且各个状态中有自己特有的操作,可以考虑使用状态模式。

图解

16 状态模式流程图.png

状态模式优缺点

优点

  1. 将不同状态下的操作归于当前状态中,各个状态之间不会相互影响。
  2. 如果添加状态或者减少状态,只需要新增或者减少对应状态下面的处理逻辑代码即可,容易扩展。

缺点

  1. 增加了系统的类和对象的个数,使系统变得庞大。

状态模式总结

当控制一个对象状态的条件表达式过于复杂的情况,把状态的判断逻辑移到表示不同状态的一系列类中,可以把复杂的判断逻辑简单化。