第一句话是:COM is a platform-independent, distributed, object-oriented system for creating binary software components that can interact.COM是一种平台无关,发布的(?),面向对象的可交互的二进制软件组件。COM是OLE和ActiveX基础。理解COM,关键是要理解他并不是一种面向对象的语言,而是一个标准。COM没有指定程序该怎样被组织。语言,结构和实现的细节都依赖于开发者。COM指定了对象模型和编程要求,以使COM组件可以和别的对象交互,别的对象可以在同一线程,不同线程中,甚至可以在远程的计算机上。COM对象可以用不同的语言编写,这就是为什么COM是二进制的标准,也就是说,COM是在程序翻译为二进制机器代码后应用的标准。
COM对于语言的唯一要求是要有指针结构(或者是与指针类似的),可以通过指针调用函数。C++和Smalltalk可以使COM的实现简单些,但是,Java,C,VBScript也可以用来开发和使用COM对象。
COM定义了COM的本质。大体上,软件对象是由数据和操作数据的函数组成的。COM访问数据只通过一个或多个函数集,函数集叫做接口(interface),接口中的函数叫做方法(method)。访问接口中的方法是通过指向接口的指针。
除了指定了二进制的标准,COM也定义了一些基础的接口,提供一些通用的函数。COM也定义了COM对象在分布环境中怎样一起工作,并添加了安全特征保证系统和组件的完整。