状态模式概述
分析
状态模式定义
状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类
又名状态对象( Objects for States)
用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题
将一个对象的状态从该对象中分离出来,封装到专门的状态类中,
使得对象状态可以灵活变化
对于客户端
而言,无须关心对象状态的转换以及对象所处的当前状态
,无论对于何种状态的对象,客户端都可以一致处理
Context(环境类)
State(抽象状态类)
Concretestate(具体状态类)
√状态转换的实现
(1)统一由环境类来负责状态之间的转换,环境类充当了状态管理器( State Manager)角色
(2)由具体状态类来负责状态之间的转换,可以在具体状态类的业务方法中判断环境类的某些属性值再根据情况为环境类设置新的状态对象,实现状态转换