问题 单项选择题

某企业的采购审批是根据采购金额的不同由不同层次的主管人员来审批,主任可以审批3万元以下(不包括3万元)的采购单,副董事长可以审批3万元~8万元(不包括8万元)的采购单,董事长可以审批8万元~20万元(不包括20万元)的采购单,20万元及以上的采购单就需要开会讨论决定。架构师采用______对上述过程进行设计后得到的类图如图6-2所示。

A.Abstract Factory模式
B.Chain of Responsibility模式
C.Flyweight模式
D.Interpreter模式

答案

参考答案:B

解析: Chain of Responsibility(职责链)模式的设计意图是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。换而言之,其目的是为了将一个请求发送给一个对象集合,对象被组织成一条链,而负责处理该请求的对象将获取请求消息并加以处理,其余对象则仅仅负责将该请求消息按照责任链的顺序传递到下一个对象。因此责任链模式的关键在于组织不同的对象成为一条链并传递消息。
依题意,该企业的采购审批是分级进行的,采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图6—2所示。根据题干给出的不同层次主管人员的审批额度“主任:3万元以下,副董事长:3万元~8万元,董事长:8万元~20万元,开会讨论:20万元及以上”,对象在责任链中的顺序应该为:Director→Vicepresident→Presiden→Congress Meeting。由于主任的审批额度最小,因此审批的请求应该从主任(Director)开始。

多项选择题
单项选择题