26.状态模式
状态模式定义如下:Allow an object to alter its behavior when its internal state changes.The object will appear to change its class.当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。状态模式的核心是封装,状态的变更引起了行为的变更,从外部看起来就好像这个对象对应的类发生了改变一样。
状态模式的优点:
- 结构清晰
- 遵循设计原则
- 封装性非常好
状态模式的缺点:
- 子类会太多,类膨胀
状态模式的使用场景:
- 行为随状态改变而改变的场景
- 条件、分支判断语句的替代者