COM组件是遵循COM规范编写,以Win32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行二进制代码,能够满足组件架构的所有需求。遵循COM的规范标准,组件与应用、组件与组件之间可以相互操作,极其方便地建立可伸缩的应用系统。
COM是一种技术标准,其商业品牌成为ActiveX
组件在应用开发方面具有以下特点:
(1)组件与开发工具语言无关。开发者可以根据特定情况选择特定语言工具实现组件的开发。编译之后的组件以二进制的形式发布,可以跨Windows平台使用,而且源代码不会外泄,有效保证了组件开发者的版权。
(2)通过接口有效保证了组件的复用性。一个组件具有若干个接口,每个接口代表组件的某个属性或方法。其他组件或应用程序可以设置或调用这些属性和方法来进行特定的逻辑处理,组件和应用程序的连接是通过其接口实现的。负责继承的开发者无需了解组件功能是如何实现的,只需要简单地创建组件对象并与其接口建立连接。在保证接口一致性的前提下,可以调换组件,更新版本,也可以把组件安插在不同的应用系统中。
(3)组件运行效率高,便于使用和管理。因为组件是二进制代码,运行效率比ASP脚本高很多。核心的商务逻辑计算任务必须由组件来担当,ASP脚本只是起组装的角色。而且组件在网络上的位置可以透明分配,组件和使用它的程序能在同一进程中、不同进程、不同机器上运行,并且组件之间是相互独立的。
组件对象通过一个内部引用计数器来管理它的生存周期,这个计数器存放任何时候连接到该对象的客户数。当引用计数变为0时,对象可以把自己从内存中释放掉,这使程序员不必考虑与提供可共享资源有关的问题。