模式定义
状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
模式结构:
Context:
环境定义客户感兴趣的接口
维护一个ConcreteState子类的实例,这个实例定义当前状态
State:
定义一个接口封装与Context的一个特定状态相关的行为
ConcreteState subclasses:
每一子类实现一个与Context的一个状态相关的行为
举例:
一个工人一天的时间分为上班,睡觉,干其他事情三个时间段。我们可以用状态模式来表示一天中在干什么事情。
UML设计: