大话设计模式
字体: 16 + -

第163章

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

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