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

- A.对象行为决定于它状态,且必须在运行时刻根据状态改变它行为
- B.定义对象结构类很少改变,但经常需要在此结构上定义新操作
- C.需要使用一个算法不同变体
- D.一个对象必须通知其它对象,而它又不能假定其它对象是谁
正确答案及解析
正确答案
B
解析
访问者(visitor)模式是一种对象行为模式,用于表示一个作用于某对象结构中各元素操作,它使得用户可以在不改变各元素类前提下定义作用于这些元素新操作。访问者模式使得新操作变得很容易,但在一定程度上破坏了封装性。





