COM/DCOM Unleashed
### COM/DCOM Unleashed #### 知识点概览 - **Windows DNA与COM技术解析** - **多层组件架构设计** - **高级COM编程技术:持久化存储** ### Windows DNA与COM技术解析 #### Windows DNA - **概念**:Windows DNA (Distributed Internet Applications) 架构是微软在1996年提出的一种分布式应用模型。 - **特点**: - 基于Web标准(如HTML)构建应用程序。 - 支持无状态环境,即每个请求都是独立处理的,不依赖于之前的交互。 - 提供一系列核心服务,包括安全性、网络支持和基础服务等。 #### COM (Component Object Model) - **定义**:COM是一种软件架构,用于创建可重用的对象,这些对象可以跨多个进程甚至网络进行通信。 - **作用**:COM允许开发者将复杂的应用程序分解为小型、可重用的组件,从而简化开发过程并提高代码质量。 - **Windows DNA中的角色**:COM是Windows DNA的核心技术之一,用于实现组件之间的交互和通信。 #### Windows DNA服务 - **COM**:作为核心组件,用于实现组件之间的交互。 - **其他服务**: - **安全性和网络支持**:确保应用程序在网络环境中安全运行。 - **基础服务**:提供如文件管理、目录服务等基本功能。 - **DNA核心**:集成了一系列高级服务,如用户界面和导航、业务流程管理等。 #### 工具支持 - **HTML Authoring**:用于创建动态网页内容。 - **Component Creation**:帮助开发者创建可重用的COM组件。 - **Rapid Application Development (RAD)**:快速开发工具,加速应用程序开发周期。 - **Team Development**:支持团队协作的工具,便于多人同时开发项目。 ### 多层组件架构设计 #### 概念 - **多层架构**:将应用程序划分为多个逻辑层,每一层负责特定的功能领域,如表示层、业务逻辑层和数据访问层等。 - **优点**:提高系统的可维护性、灵活性和扩展性。 #### 设计步骤 1. **抽象应用到各个层**:明确各层的功能边界,如表示层处理用户界面,业务逻辑层处理应用逻辑,数据服务层处理数据访问。 2. **识别组件**:根据应用需求确定所需的组件。 3. **创建接口**:为每个组件定义清晰的接口,确保组件间的松耦合。 4. **实施组件**:根据接口实现具体的组件逻辑。 5. **设计约束**:考虑性能、安全性等因素,制定设计约束条件。 #### 设计目标 - **可维护性**:易于修改和更新。 - **可靠性**:确保系统的稳定性和错误处理能力。 - **可用性**:提供高可用性的服务,即使部分组件失败也不影响整个系统。 - **可扩展性**:能够轻松地增加新功能或扩大服务规模。 - **可移植性**:可以在不同的平台和环境中部署。 - **可重用性**:尽可能复用现有组件和服务。 - **局部性**:减少远程调用,优化性能。 ### 高级COM编程技术:持久化存储 #### 概念 - **持久化存储**:指将数据保存在非易失性存储介质上,以便在应用程序关闭后仍然保留数据。 #### COM接口与函数 - **IStorage 和 IStream**:这两个接口是COM持久化存储的基础。 - **IStorage**:表示一个存储容器,可以包含多个流和其他存储。 - **IStream**:表示一个二进制流,可以用来读写数据。 - **关键函数**: - **StgCreateDocfile()**:创建一个新的复合文件。 - **StgIsStorageFile()**:判断一个文件是否为复合文件。 - **StgOpenStorage()**:打开一个已存在的复合文件或创建一个新存储。 - **其他操作**:如复制、移动元素、设置时间戳等功能。 #### 接口方法 - **IStorage::CreateStream()**:在存储中创建新的流。 - **IStorage::OpenStream()**:打开存储中的流。 - **IStorage::CreateStorage()**:在存储中创建新的子存储。 - **IStorage::OpenStorage()**:打开存储中的子存储。 - **IStorage::CopyTo()**, **IStorage::MoveElementTo()**, **IStorage::RenameElement()**:对存储中的元素执行复制、移动和重命名操作。 - **IStorage::Commit()** 和 **IStorage::Revert()**:提交更改或将存储恢复到之前的状态。 - **IStorage::EnumElements()**:枚举存储中的所有元素。 - **IStorage::DestroyElement()**:删除存储中的元素。 - **IStorage::SetElementTimes()**, **IStorage::SetClass()**, **IStorage::SetStateBits()**:设置元素的时间戳、类信息和状态标志。 通过这些详细的知识点介绍,读者不仅可以深入了解COM/DCOM的核心概念和技术细节,还可以学习如何利用这些技术来构建高效、可靠的分布式应用程序。无论是对于初学者还是有经验的开发人员来说,这些知识点都极具价值。
剩余772页未读,继续阅读
- Intel00112017-11-12good resource, thx
- 粉丝: 0
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助