组件对象模型

2021/7/7 6:05:13

本文主要是介绍组件对象模型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、概述

1.组件对象模型 (COM) 是 Microsoft 于 1993 年推出的软件组件的二进制接口标准。
2.它的用途是:在大量编程语言中,创建进程间通信对象。
3.COM 是其他 Microsoft 技术和框架的基础,包括 OLE、OLE 自动化、Browser Helper Object、ActiveX、COM+、DCOM、Windows shell、DirectX、UMDF 和 Windows Runtime。
4.COM 的本质是一种实现对象的语言中立方式,这些对象可以在不同于创建对象的环境中使用,甚至可以跨越机器边界。【译者注:COM 的本质是,创建和使用与编程语言无关的对象,并且在不同环境中使用,甚至在不同的机器上使用】
5.复用性:对于编写良好的组件,COM 允许在不了解其内部实现的情况下重用对象,因为它迫使组件实现者提供“与实现分离的”定义良好的接口。
6.“语言的不同分配语义”是通过“引用计数”“使对象负责自己的创建和销毁”来适应的。【译者注:语言的不同分配语义,是指不同编程语言对内存的分配和回收的那一部分语义。通俗地讲,通过“引用计数(reference-counting)”,对象实现自己的 new() 和 销毁】
7.对象不同接口之间的类型转换是通过QueryInterface方法实现的。
8.COM 中“继承”的首选方法是创建方法“调用”被委托给的子对象【译者注:父对象的方法“调用”被委托给子对象】。
9.COM 是一种接口技术,仅在 Microsoft Windows 和 “Apple 的 Core Foundation 1.3 和更高版本”的插件 API 上,被定义和“实现为标准”。后者只实现了整个 COM 接口的一个子集。
10.对于某些应用程序,COM 至少在某种程度上已被 Microsoft .NET 框架取代,并通过 WCF 支持 Web 服务。但是,COM 对象可以通过 .NET COM Interop 与所有 .NET 语言一起使用。联网 DCOM 使用二进制专有格式,而 WCF 鼓励使用基于 XML 的 SOAP 消息传递。
11.COM 与其他组件软件接口技术(例如 CORBA 和 Enterprise JavaBeans)非常相似,尽管它们都有自己的优点和缺点。
12.与 C++ 不同,COM 提供了一个稳定的应用程序二进制接口 (ABI),在编译器版本之间不会改变。这使得 COM 接口对“使用不同编译器版本编译的客户端使用的面向对象的 C++ 库”具有吸引力。



这篇关于组件对象模型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程