如图4-7所示描述了一种设计模式,该设计模式不可以()。
A.将对象连成一条链,并沿着该链传递请求
B.动态决定由一组对象中某个对象处理该请求
C.使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合关系
D.动态指定处理一个请求的对象集合,并高效率地处理一个请求
参考答案:D
解析:
[要点解析] 图4-7给出的是Chain of Responsibility(职责链)对象行为型设计模式。其设计意图是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 图4-7中Client可调用Handler接口,Handler接口可以有后继,因此,当一个Client向Handler发出一个HandleRequest请求时,可以有多个具体的ConcreteHandler来响应该请求。因为处理该请求的 ConcreteHandler形成二个具体的链,所以处理时效率并不高,即选项D的说法不正确。