软件水平考试

解析:若需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免

来源:网考网软件水平 所有评论

【单选题】若需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作“污染”这些对象的类,那么应选择哪种设计模式 (30)
A.职责链模式
B.中介者模式
C.访问者模式
D.适配器模式
网考网参考答案:C
网考网解析:

访问者(Visitor)模式的意图在于表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。它适用于下述情况: ①一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依赖于其具体类的操作。 ②需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作“污染”这些对象的类。Visitor使得你可以将相关的操作集中起来定义在一个类中。当该对象结构被很多应用共享时,用Visitor模式让每个应用仅包含需要用到的操作。 ③定义对象结构的类很少改变,但经常需要在此结构上定义新的操作。改变对象结构的类需要重定义对所有访问者的接口,这可能需要很大的代价。如果对象结构的类经常改变,那么可能还是在这些类中定义这些操作比较好。 查看试题解析出处>>

相关推荐

发布评论 查看全部评论