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

2023-09-01

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

参考答案:B

访问者(Visitor)模式是一种对象的行为模式,用于表示一个作用于某对象结构中的各元素的操作,它使得用户可以在不改变各元素的类的前提下,定义作用于这些元素的新操作。访问者模式使得新的操作变得很容易,但在一定程度上破坏了封装性。

相关推荐