书城计算机网络大话设计模式
8183300000163

第163章 4 状态模式的特征

小A:“状态模式都有些什么特征?”

大B:“抽象状态角(State)色:定义一个接口,用以封装语境(Context)对象的一个特定的状态所对应的行为。具体状态(ConcreteState)角色:一个具体状态类,实现了语境(Context)对象的一个状态所对应的行为。语境(Context)角色:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例,这个具体状态类的实例给出此环境对象的现有状态。通过使用多态,可以动态地改变语境(Context)对象的属性State的内容,使其从指向一个具体状态类到指向另外一个具体状态类,从而改变语境(Context)对象的行为。”