[设计模式]State模式

Posted 乔桑宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[设计模式]State模式相关的知识,希望对你有一定的参考价值。

《Java与模式》

 

又称状态对象模式。状态模式是对象的行为模式。GOF95

一个对象的行为取决于一个或者多个动态变化的属性,这样的属性叫做状态。这样的对象叫做有状态的对象(stateful)。

状态模式把一个所研究的对象的行为包装在不同的状态对象中,每一个状态对象都属于一个抽象状态的一个子类。

状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。

模式所涉及的对象包括:

  1. 抽象状态角色,state,定义一个接口,用以封装环境,context对象的一个特定的状态所对应的行为。

  2. 具体状态, concreteState角色,每一个具体状态类都实现了黄精的一个状态所对应的行为

  3. 环境角色,context,定义客户端所感兴趣的接口,并且保留一个具体状态类的实体。

以上是关于[设计模式]State模式的主要内容,如果未能解决你的问题,请参考以下文章

大话设计模式之状态模式

State模式(状态设计模式)

关于Strategy和State设计模式

State模式详解--设计模式(14)

状态模式(State)-设计模式

[设计模式]State模式