设计模式之状态模式

一.什么是状态模式?

状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了这个类.

二.什么时候使用状态模式?

状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况,把状态的判断逻辑转移到表示不同状态的一系列了,可以把复杂的判断逻辑简单化"

三.UML图

UML图与策略模式相似,但侧重点不同,状态模式是内在状态的变化,外部client无需关心,而策略是同等可替换的一个个算法,
client需要知道自己使用的方法
Context上下文维护State的实例,这个实例定义当前的状态
State状态接口类,定义一个接口以封装与Context的一个特定状态相关的行为
ConcreteStateA具体状态的子类
ConcreteStateB具体状态的子类
设计模式之状态模式