“组件技术”课程复习.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“组件技术”课程复习 潘爱民 北京大学计算机科学技术研究所 /CompCourse 内容 第三次课:COM接口与对象 第四次课:COM实现 第五次课:COM重用模型、跨进程模型 第六次课:COM多线程、安全性 第八次课:COM开发 第十二次课:软件设计模式(一) 第十三次课:软件设计模式(二) COM接口与对象 对COM产生的背景有所了解 解决程序之间的通信问题——组件基本问题 COM中IUnknown接口解决了两个重要的问题 动态接口发现,允许对象支持多个接口、允许在运行时刻确定对象是否支持某些接口 生命周期管理 COM接口的内存模型 vtable,参照:用C语言描述一个COM接口 COM对象的状态与vtable之间的关系 COM接口与对象(续) 理解COM接口的原则 COM对象与COM接口的标识的重要性 引用计数的使用规则 IDL 只要能看懂基本的IDL文件即可 interface、coclass、library、基本数据类型 理解COM对象与C++对象的差异 层次差异、封装特性、重用性、多态性 COM实现 理解类厂的机制 类厂与COM对象一一对应 类厂本身也是一个COM对象 DllGetClassObject创建类厂对象 利用注册表信息解决创建过程的位置透明性 根据CLSID,查找InprocServer32 根据ProgID,查找InprocServer32 对于每一个可被客户直接创建的COM对象,CLSID是必需的,ProgID是可选的 理解两者的意义 理解COM组件的注册过程的意义 理解自注册 COM实现(续) COM库 COM库对于创建过程的意义 引入COM库之后的基本创建过程 CoCreateInstance-〉CoGetClassObject-〉 -〉DllGetClassObject-〉IClassFactory-〉 -〉CreateInstance-〉return COM库初始化 COM库提供了内存管理功能 理解内存管理功能对于组件体系的重要性 错误处理机制:HRESULT COM重用模型 包容和聚合 只要求对这两种模型的理解,不要求实现 包容 外部对象与内部对象的关系:client/server 灵活应用,外部对象的接口可以不同于内部对象的接口 聚合 直接把内部对象的接口暴露给客户 理解:内部对象实现两个IUnknown接口,从而维护外部对象的身份一致性 1 在客户眼里的IUnknown —— 需要委托 2 在外部对象眼里的IUnknown —— 不能委托 COM跨进程模型 Marshaling基本概念 通过marshaling做到客户与服务器之间通信透明 proxy/stub的概念 建立跨进程连接的过程 marshaling - transport - unmarshaling marshaling的要点 数据类型、数据大小、字节顺序 COM库保证了进程透明性 COM线程模型 COM对象与线程的关系 COM对象生存在一定的线程环境中,对象在执行方法时是否与线程相关 套间的概念 STA:STA套间中的对象与线程相关 MTA:MTA套间中的对象与线程无关,与MTA有关 跨套间调用需要marshaling,同一套间内部调用不需要marshaling COM安全性 三个概念 激发安全性:哪些用户有权启动服务进程 调用安全性:客户是否有权调用对象方法 服务器进程的身份概念:服务器访问系统资源受其影响 用C++来实现COM对象 掌握原理 用多继承方法来实现多个接口 ——ATL方法 用内嵌对象来实现COM接口 —— MFC方法 Patterns(模式) Factory method Builder Bridge Composite Iterator Strategy Patterns:Factory Method Patterns:Builder Patterns:Bridge Patterns:Composite Patterns: Iterator Patterns: Strategy 考试与作业事项 考试形式 闭卷,2小时 COM部分:重点考对于组件技术的理解 pattern部分:重点考对于这些patterns的结构的理解,以及每种模式的要点之处 考试满分100,占总成绩50% 三次作业占50%,请考试前交上来 * *

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档