(2012年下半年上午试题44~46)每种设计模式都有特定的意图。______(44)模式使得一个对象在其内部状态改变时通过调用另一个类中的方法改变其行为,使这个对象看起来如同修改了它的类。图10.10是采用该模式的有关TCP连接的结构图实例。该模式的核心

admin2018-07-26  32

问题 (2012年下半年上午试题44~46)每种设计模式都有特定的意图。______(44)模式使得一个对象在其内部状态改变时通过调用另一个类中的方法改变其行为,使这个对象看起来如同修改了它的类。图10.10是采用该模式的有关TCP连接的结构图实例。该模式的核心思想是引入抽象类______(45)来表示TCP连接的状态,声明不同操作状态的公共接口,其子类实现与特定状态相关的行为。当一个______(46)对象收到其他对象的请求时,它根据自身的当前状态做出不同的反应。

(44)

选项 A、适配器(Adapter)
B、命令(Command)
C、观察者(Observer)
D、状态(State)

答案D

解析 状态(State)模式允许一个对象在其内部状态改变时改变它的行为,使这个对象看起来如同修改了它的类。状态模式需要对每一个系统可能取得的状态创立一个状态类的子类,当系统的状态发生变化时,系统便改变所选的子类。在图10.10中,TCPConnection为情景类,定义客户应用程序感兴趣的接口,维护一个具体状态(TCPEstablished、TCPListen和TCPCIosed)子类的实例对象。TCPState为抽象状态类,定义一个接口用来封装与TCPConnection的一个特别状态(State)相关的行为。TCPEstablished、TCPListen和TCPCIosed为具体类,每一个具体类实现了一个与TCPConnection的状态相关的行为。
转载请注明原文地址:https://kaotiyun.com/show/0wRZ777K
0

最新回复(0)