0%

State

1. 意图

允许对象在内部状态改变时改变它的行为, 对象看起来好像修改了它的类.

2. 适用场景

  • 对象的行为依赖于它的状态, 并且可以根据他的状态改变而改变它的相关行为
  • 冗长的条件语句,难以维护

3. 实现

3.1. 参与者

3.2. 结构

3.3. 特点

  • 实现比较复杂, 有多少种状态, 就有多少个对应状态的具体实现类, 而每一个实现类对每一种状态都要有对应的方法处理
  • 可以将转化规则拆散封装
  • 可以对冗长的条件判断进行优化

3.4. 开发规范