早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->
若需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作“污染”这些
题目
若需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作“污染”这些对象的类,那么应选择哪种设计模式?(30)。
A.职责链模式
B.中介者模式
C.访问者模式
D.适配器模式
参考答案
正确答案:C
解析:访问者(Visitor)模式的意图在于表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。它适用于下述情况:①一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依赖于其具体类的操作。②需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作“污染”这些对象的类。Visitor使得你可以将相关的操作集中起来定义在一个类中。当该对象结构被很多应用共享时,用Visitor模式让每个应用仅包含需要用到的操作。③定义对象结构的类很少改变,但经常需要在此结构上定义新的操作。改变对象结构的类需要重定义对所有访问者的接口,这可能需要很大的代价。如果对象结构的类经常改变,那么可能还是在这些类中定义这些操作比较好。
解析:访问者(Visitor)模式的意图在于表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。它适用于下述情况:①一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依赖于其具体类的操作。②需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作“污染”这些对象的类。Visitor使得你可以将相关的操作集中起来定义在一个类中。当该对象结构被很多应用共享时,用Visitor模式让每个应用仅包含需要用到的操作。③定义对象结构的类很少改变,但经常需要在此结构上定义新的操作。改变对象结构的类需要重定义对所有访问者的接口,这可能需要很大的代价。如果对象结构的类经常改变,那么可能还是在这些类中定义这些操作比较好。
看了若需要对一个对象结构中的对象进...的网友还看了以下:
(g你14•思明区质检)在平面直角坐标系中,点o为原点,一次函数y=fx+b的图象经过第一,二,三 其他 2020-04-08 …
甲、乙两车同时从相距400千米的两地出发,甲车每小时行54千米,乙车每小时行46千米.2小时后两车 数学 2020-05-24 …
我宁愿不告诉你真相的翻译 英语 2020-06-07 …
写一段片段生活中,我们经常接触和结交新朋友,遇到新面孔,你对他的第一印象如何?说说你们第一次相见的 语文 2020-06-11 …
英语翻译一天,蚂蚁和大象相亲,刚见面,大象打了一个喷嚏,把蚂蚁吹飞了,若干年后,年迈的大象看见蚂蚁 其他 2020-07-03 …
说出日常生活现象中的数学原理:⊙⊙⊙日常生活现象⊙相应数学原理⊙⊙有人和你打招呼,你笔直向他走过去 数学 2020-08-02 …
远方一滴相思雨,每天都在想念你.熟悉身影难忘记,几时与你再相聚,我想你、不骗你、就象禾苗等着雨.风在 语文 2020-11-20 …
你照相的时候,不要开闪光灯翻译谢谢了 英语 2020-11-25 …
大象斑马喜相逢.斑马说;“两年前你是我的3倍.”大象说:“我如今比你大12岁.” 数学 2020-12-09 …
说出日常生活现象中的数学原理:日常生活现象相应数学原理有人和你打招呼,你笔直向他走过去。要用两个钉子 数学 2020-12-21 …