对于如下所示的序列图所描述的场景,最适合于采用的设计模式是(1);该模式适用的场合是(2)。 (2)

admin2017-09-13  21

问题 对于如下所示的序列图所描述的场景,最适合于采用的设计模式是(1);该模式适用的场合是(2)。

(2)

选项 A、对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为
B、定义对象结构的类很少改变,但经常需要在此结构上定义新的操作
C、需要使用一个算法的不同变体
D、当一个对象必须通知其他对象,而它又不能假定其他对象是谁

答案B

解析 本题考查设计模式的相关基础知识。
    访问者(Visitor)模式是一种对象的行为型模式,用于表示一个作用于某对象结构中的各元素的操作,它使得用户可以在不改变各元素的类的前提下,定义作用于这些元素的新操作。访问者模式使得增加新的操作变得很容易,但在一定程度上破坏了封装性。上图展示的是一个出租车公司的例子。当有人打电话叫车时,出租车公司会为他派出一辆车(接收Visitor)。一旦乘客(Customer)上了车,那么出租车司机就成为承运关系的主体。
    访问者模式的目的是要把数据结构和作用于结构上的操作之间的耦合解开,使得操作集合可以相对自由地演化。如果这样的系统有比较稳定的数据结构,又有易于变化的算法的话,使用访问者模式比较合适,因为访问者模式使得算法操作的增加变得容易。
转载请注明原文地址:https://jikaoti.com/ti/hiJ7FFFM
0

最新回复(0)