题库系统集成项目管理工程师

系统集成项目管理工程师 · 第三版 · 第7章 软硬件系统集成

COM把内部对象接口作为自身接口提供,属于哪种重用机制?

17 道章节练习题
单选题7.3 软件集成16 / 17

某COM外部对象直接把内部对象的一个接口作为自己的接口交给客户使用,内部对象支持这种协作,并按规则维持客户所见的统一对象身份。该重用机制是()。

选择答案
未作答
答案与解析

正确答案 C

直接把可聚合内部对象的接口作为外部对象接口提供,并维持统一对象身份,是COM聚合的关键条件,选C。

教材先告诉你COM有包容和聚合两种重用机制;本题再问,两者怎样辨认。普通包容与委托可以理解为外层自己接下调用,再转给里层完成。聚合则允许外层直接提供里层实现的接口,让客户把这些接口看成同一个对象的能力。两者都有重用,因此只看到“用了旧对象”还不能选。题干额外给出了直接提供接口、内部对象支持以及身份一致三个条件,才足以指向C。统一身份涉及IUnknown规则,但本题不要求手写引用计数代码。也别把COM聚合和UML图中的聚合关系混为一谈:名称相同,不等于判定规则相同。它更不是把任意现成对象直接拼起来就能成立。

选项分析

A
普通包容与委托由外层实现接口并转发调用,未对应题干直接提供内部接口及统一身份的特定机制。
B
COM对象重用不要求客户与组件采用同一种语言,更不能用类继承取代题干的组件协作条件。
C
直接提供可聚合内部对象的接口,并遵循统一身份规则,符合聚合的识别条件。
D
跨机器调用属于位置与通信机制问题,本题给出的核心是对象接口如何重用,未限定远程执行。

容易混淆的地方

把任何包含关系都叫COM聚合,忽略内部对象支持和对象身份规则;或套用UML聚合的图形记忆代替COM机制。

再巩固一步

  • 这是教材概念的进阶辨析:先分普通包装转发与直接提供内部接口,再看对象是否支持聚合,不必扩展成实现代码题。
原创章节练习题 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 7.3.2 · 纸书第274页

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息