- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中间件技术知识应用课件第五章1 COM 相关技术知识.pptx
第五章 COM 相关技术COM 技术的发展COM技术的体系结构COM技术中的接口COM类工厂机制COM技术的发展COM技术经历了DLLOLE(建立在DDE的基础上的)1993 年正式 引入COM 规范(1993中旬COM首次出现。微软推出 OLE2.0,开始用COM代替DDE作为底层通讯协议。这也是COM第一个重要的用途。 )DCOM 发表于1996COM+ 发表于1999.NET发表于2000年7月COM的出现 1996年,大多数开发人员开始编写32位的WIN95应用程序。他们发现,OLE使用COM的方式是一种非常好的设计软件的方法。开发人员开始使用类似的方法编写自己的对象和界面。另外,操作系统也开始要求使用COM技术编程,如编写WIN95用户界面。COM组件的设计是实现一个保罗万象的二进制通用代码复用技术,和今时今日的面向服务复用技术不同,当年的技术更崇尚与方法复用,COM技术提供了跨计算机的二进制通讯规范(也就是说是大家都要遵守的合同)。用于软件组件间跨进程,跨机器,和操作系统进行交互操作。COM是透明位置的。它可以在EXE,DLL或者远程机器上使用。2009年1月份第3届中国IT技术精英大会上对外发布 WCF是微软用于开发面向服务的Windows应用程序的统一平台。㎏COM /DCOM COM/DCOM(Component Object Model,构件对象模型/Distrubuted Component Object Model) 是Microsoft提出的一个(分布的)二进制兼容构件的规范。只要遵守这种规范,不管用什么编程语言和工具开发的COM构件,也不管是否运行在同一台机器上,还是运行在不同的机器上,都可以被使用。COM对象模型COM使用相同的面向对象模型。COM拥有与C++对象一样的类、成员函数和实例。通过指针来访问COM对象,在完成处理后,必须释放它们。 ixx *pi // 指向to xxx COM接口的指针 CoCreateInstance(pi) // 创建接口 pi-MethodA(); // 调用方法 pi-Release(); // 释放接口 C++对象与COM对象的不同C++对象通常都运行在同一进程空间中。COM对象可跨进程和跨计算机运行。COM方法可通过网络调用 。在一个进程空间中,C++方法的名字必须是唯一的,而COM对象的名字在整个世界中都是唯一的。COM服务器可以使用多种不同的语言和在不同的操作系统上编写,而C++对象通常都使用C++编写 C++与COM的比较概念传统的C++/OOPCOM客户端 一个从某个服务器请求服务的程序 一个调用COM方法的程序 服务器 一个为其它程序服务的程序 一个让某个COM客户得到COM对象的程序 接口 没有 通过COM调用的一组函数的一个指示器 类一个数据类型定义了一组一起使用的方法和数据 一个对象的定义,用来实现一个或者多个COM接口,“coclass”也是 对象一个类的实例化一个coclass的实例化Marshalling没有在客户和服务器端之间移动数据接口的概念COM接口是一个全新的概念,在C++中是没有的。一个接口没有一个有形的存在。它类似一个抽象类,但不完全一样。简单地说,接口是函数的集合。 在C++,一个类仅允许有一个接口。这个接口的成员函数都是该类所有的公有成员函数。接口是类的公共可见部分。在C++中一个接口和一个类几乎没有任何的区别,以下就是C++类的一个例子:类的public子集是外部的“接口”。接口将类的内部和使用者隔离开来。 class yyy { public: int DoThis(); private: void Helper1(); int count; int x,y,z; }; COM中的接口COM允许一个coclass(COM类)拥有多个接口,每个接口拥有自己的名字和函数集。这样做便可得到更为复杂和功能更强的对象。这个概念与C++是完全不同的。 一个COM对象可支持一个接口的集合,每个接口都拥有自己的名字。对于你自己创建的COM对象,你可以只使用单一COM接口。也可支持多个COM接口。COM接口的名字是唯一的。 隔离接口和实现对于COM是至关紧要的。通过将它的实现和接口隔离开,我们可以建立组件。组件可被替换和重用。两者均可简化和增加对象的可用性。 COM构件模型*建立在二进制层次上的标准 ---编程语言和开发工具无关*COM规范 ---平台无关 ---定义了大量的标准接口(如IUnknown、IClassFactory、IDispatch等等)用于各种用途
您可能关注的文档
- 中学物理课件有关力学的几个基本的 模型.ppt
- 中学生学习基本方法漫谈.ppt
- 中学生物输血和 与血型.ppt
- 中学生预防艾滋病的 基本方法与措施 .ppt
- 中学美术课程与教学论第七章 美术教师的专业的发展.ppt
- 中学美术课程与教学论第三章 美术教学的模式与基本方法.ppt
- 中学美术课程与教学论第四章 美术教学的设计.ppt
- 中学美术课程和 与教学论第二章美术教学的策略和 与模式.ppt
- 中学美术课程和 与教学论第五章 美术教学工艺制作和 与电脑绘画技能训练.ppt
- 中学美术课程和 与教学论第六章 美术教学评价测量.ppt
- 江苏省淮安市2024—2025学年高二下学期期末调研测试语文试题(含答案).docx
- (地理)绵阳市安州区2025年春七年级下册期末教学质量监测试卷.pdf
- 江苏省南京市六校联合体2024-2025学年高一下学期期末调研语文试卷(含答案).docx
- 河南省驻马店市平舆县2023-2024学年八年级下学期期末语文试题(含答案).docx
- 重庆市主城四区2024-2025学年高一下学期期末测试语文试题(含答案).docx
- 最新消防图片案例课件.pptx
- 山东省济宁市实验中学2024-2025学年高二下学期6月考试语文试卷(含答案).docx
- 江苏省宿迁市沭阳县2024-2025学年高一下学期6月期末考试语文试题(含答案).docx
- 2.2 尊重知识产权 课件 高中政治统编版选择性必修2《法律与生活》.pptx
- 江苏省连云港市东海县2024-2025学年高一下学期6月期末考试语文试题(含答案).docx
文档评论(0)