COM 对象是什么意思?

COM 对象是什么意思?

它是什么?据我所知,它是微软针对某些对象的特殊技术。但具体是什么呢?

答案1

它基本上是一种用于在 Windows 环境中编写程序的旧技术。它庞大而复杂,管理/支持起来并不愉快。.NET 框架是它的替代品。

答案2

COM 对象基本上是一个实现某些已知接口的黑盒。它还可以向 Windows 注册自身,以便程序可以获取它。

例如,假设ICalculator我编写程序要使用某个接口。我现在可以交换任何用任何编程语言编写的对象(因为它是一个二进制接口),只要它实现了ICalculator。然后在运行时,我可以为用户提供某种选项,以便他们可以选择使用FooCorpCalculator用 Python 编写的 COM 对象,或者如果他们需要更快的速度,他们可以选择NinjaCalculator用 C 编写的。关键是,我编写程序依赖于接口,而不是实现,然后选择稍后使用实现该接口的实际 COM 对象。

当然,还有很多内容,但这可能是一个可以让你更具体理解的例子。

答案3

请参阅此维基百科文章:组件对象模型

组件对象模型 (COM) 是 Microsoft 于 1993 年推出的软件组件二进制接口标准。它用于在多种编程语言中实现进程间通信和动态对象创建。COM 一词在 Microsoft 软件开发行业中经常用作一个总称,涵盖 OLE、OLE Automation、ActiveX、COM+ 和 DCOM 技术。

COM 对象通常在 DLL 文件中实现。它们可供程序用于各种功能。术语“目的”此处指的是面向对象编程

答案4

COM 是一组 Windows 特定的技术,用于实现代码重用和互操作性,主要在二进制级别(不一定在源代码级别)。

20 世纪 90 年代初,比尔·盖茨不允许 Powerpoint 开发团队为 Powerpoint 产品实现自己的图表子系统,因为微软已经有了 Excel。因此,他们制定了一项规范,使其内部产品能够交换数据并调用彼此的函数。微软将这些 API 进行了通用化,并发布了它们以及许多其他代码设计指南。

观看这个 2006 年的视频:Tony Williams:COM 的共同发明者

我认为,现在到了 2012 年,COM 仍然是 WMI 和 Office 的核心。

相关内容