COM技术详解:从组件对象模型到.NET框架

需积分: 2 4 下载量 119 浏览量 更新于2024-08-25 收藏 553KB PPT 举报
"COM特性续-MFC COM东南大学PPT" COM(Component Object Model)是微软提出的一种组件技术,旨在解决软件开发中的复用、互操作性和分布性问题。它是一种二进制标准,允许不同计算机上的组件进行通信,无论它们运行在何种操作系统或用何种语言编写。COM的核心概念包括COM组件、COM接口、COM对象和COM客户。 1. **COM组件**:是具有特定逻辑功能的可执行代码,它们可以是DLL或EXE等形式,用于构建更大的应用程序。组件可以独立开发,具有运行环境无关性,提高了代码的重用性。 2. **COM接口**:是组件对外提供的服务集合,一组相关的函数指针定义。接口提供了组件与外界交互的途径,允许多个客户端通过相同的接口调用组件的不同实例,确保了功能的标准化。 3. **COM对象**:每个COM对象都是一个类的实例,实现了至少一个或多个接口。这些接口定义了对象的行为和功能,使得客户端可以通过接口与对象交互。 4. **COM客户(组件客户)**:调用并使用COM组件的程序部分,通常是在用户界面中与用户交互并调用组件服务的代码。 5. **组件服务器**:提供COM对象的实体,可以包含一个或多个COM对象,实现应用程序需要的功能。 COM技术发展了一系列衍生物,如: - **OLE (Object Linking and Embedding)**:早期的组件技术,允许文档内嵌入其他对象,分为OLE1.0和OLE2.0。OLE2.0引入了更强大的接口概念,奠定了COM的基础。 - **DCOM (Distributed Component Object Model)**:扩展了COM,使其支持分布式计算,允许组件在不同的网络计算机之间通信。 - **COM+**:在COM的基础上添加了服务,如事务处理、安全、并发控制等,简化了应用程序的构建。 - **.NET Framework**:微软的下一代开发平台,虽然不再直接使用COM,但.NET中的许多概念,如接口、组件化等,都受到了COM的影响。 COM的技术体系结构强调了位置透明性、语言无关性和运行环境无关性,使得组件可以在不同系统和环境中无缝工作。这主要通过以下几点实现: - **包容方式和聚合方式**:两种主要的组件组合方式。包容方式中,一个组件包含另一个组件,而聚合方式下,组件A可以直接访问组件B的接口,无需经过组件A的接口。 - **接口指针**:COM接口通过接口指针进行调用,确保了组件间的通信协议。 - **接口版本控制**:允许组件提供新版本而不影响现有的客户端,因为接口的版本是独立的。 - **组件注册**:通过注册表来管理组件的位置和元数据,使得客户端能找到和使用组件。 学习COM相关技术,可以参考《COM原理与应用》和《COM技术内幕》这两本书,这些书籍详细阐述了COM的原理、接口、类工厂机制、DCOM和COM+等高级主题,对于理解COM的底层工作原理和实际应用有着重要的指导意义。