状态模式(别名:状态对象)
允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。
State Pattern(Another Name: Object for States)
Allow an object to alert its behavior when its internal state changes. The object will appear to change its class.
类图
模式的结构与使用
状态模式的结构中包括三种角色。
+ 环境(Context):环境是一个类,该类含有抽象状态(State)声明的变量,可以引用任何具体状态类的实例。用户对该环境(Context)类的实例在某种状态下的行为感兴趣。
+ 抽象状态(State):抽象状态是一个接口或抽象类。抽象状态中定义了与环境(Context)的一个特定状态相关的如果个方法。
+ 具体状态(Concrete State&