C++程序设计与应用 教学课件 作者 周仲宁courseware19.ppt

C++程序设计与应用 教学课件 作者 周仲宁courseware19.ppt

ID:50318738

大小:158.00 KB

页数:66页

时间:2020-03-08

C++程序设计与应用 教学课件 作者 周仲宁courseware19.ppt_第1页
C++程序设计与应用 教学课件 作者 周仲宁courseware19.ppt_第2页
C++程序设计与应用 教学课件 作者 周仲宁courseware19.ppt_第3页
C++程序设计与应用 教学课件 作者 周仲宁courseware19.ppt_第4页
C++程序设计与应用 教学课件 作者 周仲宁courseware19.ppt_第5页
资源描述:

《C++程序设计与应用 教学课件 作者 周仲宁courseware19.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第19章组件对象模型《C++高级编程》本章主要教学内容COM的发展历史,软件开发工具的发展历程。COM的基本理论:组成元素、实现函数和服务。ActiveX的组成:ActiveX容器、ActiveX服务器、ActiveX自动化应用程序、ActiveX控件、ActiveX文档和ActiveX平台。19.1COM的历史足迹COM:ComponentObjectModel组件对象模型组件对象模型技术是继模块化、结构化,面向对象开发方法之后,发展起来的又一新的软件开发方法。其主要思想是将一个对象的外观(接口)同其工作方式(实现)分

2、离开来,这一封装思想应用到二进制层次上,使得我们可以在COM架构下开发出各种各样的功能专一的软件模块,然后根据需要将其装配起来构成复杂的应用系统,以最大程度地实现模块的复用。19.1COM的历史足迹COM是关于如何建立组件以及如何通过组件建构应用程序的一个规范。COM标准包括规范和实现两大部分。COM规范是一套为组件架构设置标准的文档,它定义了组件与组件之间的通信机制,这些规范不依赖任何特定的语言和操作系统。COM实现部分是一个COM库的API。它为COM规范的具体实现提供核心服务。COM本质上是客户机/服务器(C/S)

3、模式。当客户通过传递一个组件类的CLSID(ClassIdentifier)请求其服务时,Windows通过注册表透明地查找到组件对象地址,然后创建该组件对象,并把客户请求的接口指针回传给客户。19.1COM的历史足迹19.1COM的历史足迹在COM模型中,客户请求服务时,只是通过GUID(GloballyUniqueIdentifier全局统一标识符)获取接口指针,从而调用其相应的成员函数。而COM对象对客户而言是不可见的,客户只是通过接口才感受到对象的存在。对客户而言,接口便是一切。19.1COM的历史足迹COM接口

4、规范规定,所有接口都必须直接或间接地从IUnknown接口继承。IUnknown接口只有3个函数:用来维护对象的生存期管理。QueryInterface():用于接口查询,AddRef()Release()组件程序通常有两种实现形式:一种是动态链接库,运行时客户程序与组件程序运行在同进程地址空间,故也叫进程内组件;另一种形式是EXE文件,这种组件运行时,客户程序和组件程序运行在不同的进程地址空间,所以也叫作进程外组件。19.1COM的历史足迹19.1COM的历史足迹语言无关性。它采用的是一种二进制代码级的标准,而非源代码

5、级的标准,用VC++写的COM可以用VB来调用;进程透明性。客户与服务器既可以在一个进程中,也可不在一个进程中;总的来说,COM的特点有:19.1COM的历史足迹位置透明性。客户与服务器既可以在1台机器上,也可跨越网络;版本兼容。组件可以在不妨碍已有客户的情况下被升级。19.1COM的历史足迹组件对象模型COM出现的历史原因:剪贴板技术->DDE->OLE1.0->OLE2.0->DCOM->ActiveX19.1.1OLE1.0剪贴板技术最早在Apple公司的第一台Mac计算机上使用,后被Microsoft公司采用。剪

6、贴板技术最初是为了在两个应用程序之间进行数据共享而产生的。19.1.1OLE1.0剪贴板相当于一个临时存储区,临时存放要共享的数据。共享数据先通过复制操作从一个应用程序存放到这个临时区域,再通过粘贴操作传递给另一个应用程序。这样就实现了两个应用程序之间数据的共享。应用程序A剪贴板应用程序B复制粘贴19.1.1OLE1.0为解决剪贴板技术需要频繁进行剪切、复制和粘贴操作的缺陷,Microsoft又引入了DDE,动态数据交换技术。通过DDE技术,开发者可以通过编写程序,让共享数据的双方进行通信,实现数据的共享。但DDE的缺陷

7、是其实现很困难。所以该技术很快被OLE技术取代。19.1.1OLE1.0OLE:ObjectLinkingandEmbedding对象链接与嵌入作为COM技术前身的OLE,其最初含义是指在程序之间链接和嵌入对象数据。它提供了建立混合文档的手段,使得那些没有太多专业知识的用户能够很容易地协调多个应用程序完成混合文档的建立。从用户角度:使得用户可以构建声、文、图、像、影于一体的复合文件。关于复合文件见附带文件。从开发商角度:解决软件开发人员所面临的最大难题--由于没有统一的协议标准,应用程序之间的相互通信实现起来很困难。OL

8、E的功能:19.1.1OLE1.0OLE的目的就是实现这些通信协议的标准化。19.1.1OLE1.0什么是对象链接与嵌入技术?OLE技术是通过对象的链接或嵌入来实现数据共享的一门计算机技术。提供对象的链接或嵌入数据的应用程序称为服务器应用程序,接受对象的链接或嵌入数据的应用程序称为容器应用程序。一个应用程序即可以是服

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。