查看更多
当前 - 选择题 - 系统分析与设计
困难
单选题
2021年11月第39题
#第一版教材
#必须掌握

为实现对象重用,COM 支持两种形式的对象组装。在 (问题1) 重用形式下,一个外部对象拥有指向一个内部对象的唯一引用,外部对象只是把请求转发给内部对象:在 (问题2) 重用形式下,直接把内部对象的接口引用传给外部对象的客户,而不再转发请求。

浓缩知识点

COM为实现对象重用,提供包含和聚集两种对象组装机制。包含机制中,外部对象持有内部对象的唯一引用,客户对外部对象的请求会由外部对象转发给内部对象处理,外部对象可在转发前后添加自定义逻辑,具备较强封装性,能对内部对象的访问进行管控。聚集机制则是外部对象直接将内部对象的接口引用交付给客户,请求无需经过外部对象转发,执行效率更高,但需特殊处理内部对象的IUnknown接口,避免出现对象生命周期管理冲突。两种机制各有适用场景,包含适用于需要对内部对象交互进行额外控制的场景,聚集则适合追求性能、无需中间转发的场景。

正确答案
B

本题考察的是COM 对象重用的两种形式:包含(Containment)与聚集(Aggregation)
问题1
A选项 聚集:聚集是将内部对象的接口直接暴露给客户,不需要外部对象转发请求,不符合题干描述,错误。
B选项 包含:包含模式下,外部对象保存对内部对象的引用,并在接到客户请求时将请求转发给内部对象,符合题干,正确。
C选项 链接:链接不是 COM 对象重用的标准术语,错误。
D选项 多态:是一种面向对象编程特性,与 COM 对象组装无直接关系,错误。
所以选择 B。

问题2
A选项 引用:仅是实现细节,不是对象组装的类型,错误。
B选项 转发:转发是包含模式的特征,不是题干第二个空格的答案,错误。
C选项 包含:包含模式是第一种类型,不是题干第二种类型,错误。
D选项 聚集:聚集模式下,外部对象直接将内部对象接口引用提供给客户,避免了转发过程,符合题意,正确。
所以选择 D。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有