单选题7.3 软件集成3 / 17
正在加载题目…
系统集成项目管理工程师 · 第三版 · 第7章 软硬件系统集成
不同编程语言开发的COM组件,为什么可以相互使用?
17 道章节练习题
答案与解析
正确答案 A
COM通过二进制层的标准接口支持互操作,组件实现语言与调用方语言可以不同,但必须满足相应规范。相同编译器或DLL、EXE扩展名都不能替代接口符合性,选A。
跨语言并不是让调用方看懂另一种语言的源代码,而是让双方在约定的接口上交互。你可以把组件理解为已经做好的功能单元:调用方知道该接口怎样使用,不必知道里面哪一行代码如何写。教材强调COM对象是二进制代码对象,并由标准接口提供互操作能力,这才是本题的依据。容易漏掉的是“符合规范”这个前提:不是所有DLL或EXE都是可用的COM组件,也不是任何语言写完就能任意组合。语言无关性更不等于平台无关性;题干已经限定运行平台和组件规范满足要求,不可把这个结论扩大到所有系统都能免适配运行。
选项分析
- A
- 符合COM规范的二进制互操作接口为跨语言使用提供共同约定,不要求调用方读取组件源代码。
- B
- 该做法变成源代码转换,不是题干所述直接通过已实现组件接口进行重用的机制。
- C
- 教材强调语言无关性,不能把相同编译器当成必要条件;关键仍是生成和使用符合规范的接口。
- D
- 文件形式不能证明接口符合COM规范,仅凭扩展名无法保证组件身份或与调用方的兼容性。
容易混淆的地方
将语言无关记成没有任何兼容性条件,或误以为相同文件扩展名便能保证组件互操作。
再巩固一步
- COM看二进制接口的共同约定;分别检查语言、接口和平台三个层面,不要把语言无关扩大成平台无关。
原创章节练习题 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 7.3.2 · 纸书第273页查看完整题目与详解