单选题 每种设计模式都有特定的意图。______模式使得一个对象在其内部状态改变时通过调用另一个类中的方法改变其行为,使这个对象看起来如同修改了它的类。下图是采用该模式的有关TCP连接的结构图实例。该模式的核心思想是引入抽象类______来表示TCP连接的状态,声明不同操作状态的公共接口,其子类实现与特定状态相关的行为。当一个______对象收到其他对象的请求时,它根据自身的当前状态做出不同的反应。
【正确答案】 D
【答案解析】
【正确答案】 C
【答案解析】
【正确答案】 A
【答案解析】[解析] 状态(State)模式允许一个对象在其内部状态改变时改变它的行为,使这个对象看起来如同修改了它的类。状态模式需要对每一个系统可能取得的状态创立一个状态类的子类,当系统的状态发生变化时,系统便改变所选的子类。在上图中,TCPConnection为情景类,定义客户应用程序感兴趣的接口,维护一个具体状态(TCPEstablished、TCPListen和TCPClosed)子类的实例对象。TCPState为抽象状态类,定义一个接口用来封装与TCPConnection的一个特别状态(State)相关的行为。TCPEstablished、TCPListen和TCPClosed为具体类,每一个具体类实现了一个TCPConnection的状态相关的行为。