组件技术课程复习.ppt

上传人:本田雅阁 文档编号:2753956 上传时间:2019-05-11 格式:PPT 页数:19 大小:130.51KB
返回 下载 相关 举报
组件技术课程复习.ppt_第1页
第1页 / 共19页
组件技术课程复习.ppt_第2页
第2页 / 共19页
组件技术课程复习.ppt_第3页
第3页 / 共19页
组件技术课程复习.ppt_第4页
第4页 / 共19页
组件技术课程复习.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《组件技术课程复习.ppt》由会员分享,可在线阅读,更多相关《组件技术课程复习.ppt(19页珍藏版)》请在三一文库上搜索。

1、“组件技术”课程复习,潘爱民 北京大学计算机科学技术研究所 http:/ 第四次课:COM实现 第五次课:COM重用模型、跨进程模型 第六次课:COM多线程、安全性 第八次课:COM开发 第十二次课:软件设计模式(一) 第十三次课:软件设计模式(二),COM接口与对象,对COM产生的背景有所了解 解决程序之间的通信问题组件基本问题 COM中IUnknown接口解决了两个重要的问题 动态接口发现,允许对象支持多个接口、允许在运行时刻确定对象是否支持某些接口 生命周期管理 COM接口的内存模型 vtable,参照:用C语言描述一个COM接口 COM对象的状态与vtable之间的关系,COM接口与对

2、象(续),理解COM接口的原则 COM对象与COM接口的标识的重要性 引用计数的使用规则 IDL 只要能看懂基本的IDL文件即可 interface、coclass、library、基本数据类型 理解COM对象与C+对象的差异 层次差异、封装特性、重用性、多态性,COM实现,理解类厂的机制 类厂与COM对象一一对应 类厂本身也是一个COM对象 DllGetClassObject创建类厂对象 利用注册表信息解决创建过程的位置透明性 根据CLSID,查找InprocServer32 根据ProgID,查找InprocServer32 对于每一个可被客户直接创建的COM对象,CLSID是必需的,Pr

3、ogID是可选的 理解两者的意义 理解COM组件的注册过程的意义 理解自注册,COM实现(续),COM库 COM库对于创建过程的意义 引入COM库之后的基本创建过程 CoCreateInstance-CoGetClassObject- -DllGetClassObject-IClassFactory- -CreateInstance-return COM库初始化 COM库提供了内存管理功能 理解内存管理功能对于组件体系的重要性 错误处理机制:HRESULT,COM重用模型,包容和聚合 只要求对这两种模型的理解,不要求实现 包容 外部对象与内部对象的关系:client/server 灵活应用,外

4、部对象的接口可以不同于内部对象的接口 聚合 直接把内部对象的接口暴露给客户 理解:内部对象实现两个IUnknown接口,从而维护外部对象的身份一致性 1 在客户眼里的IUnknown 需要委托 2 在外部对象眼里的IUnknown 不能委托,COM跨进程模型,Marshaling基本概念 通过marshaling做到客户与服务器之间通信透明 proxy/stub的概念 建立跨进程连接的过程 marshaling - transport - unmarshaling marshaling的要点 数据类型、数据大小、字节顺序 COM库保证了进程透明性,COM线程模型,COM对象与线程的关系 COM

5、对象生存在一定的线程环境中,对象在执行方法时是否与线程相关 套间的概念 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%,请考试前交上来,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1