COM 技术内幕学习之八(包容和聚合)

COM技术内幕.pdf COM技术内幕 微软 组件对象模型 老美的书 基本上都是好书 把COM技术介绍的淋漓尽致 我免费奉送 立即下载

一、实现继承

1、COM支持的是接口继承,它继承的是抽象基类的接口

COM为什么不用实现继承?(基类组件的改动引起派生类组件的改动)

2、一般的继承是派生类继承基类的实现

3、用组件包容来模拟实现继承

在C++中对类的改造是通过包容和继承来实现,对组件的改造是通过包容和聚合来实现

二、包容和聚合

1、包容和聚合实际上是一个组件使用另外一个组件的一种技术

2、包容----->外部组件包含内部组件,聚合---->外部组件聚合内部组件

3、包容---->实现内部组件接口,将对某个接口的调用转发给内部组件

4、聚合----->

三、代理和非代理未知接口

内部组件要实现这两个接口

1、代理未知接口

在非聚合组件中,代理未知接口调用非代理未知接口;在聚合组件中,代理未知接口调用外部未知接口。

2、非代理未知接口

按通常方式实现内部组件的IUnknown接口

 

COM技术内幕,pdf编辑校正版 立即下载

相关推荐

COM技术内幕pdf及源代码

COM技术内幕pdf及源代码,完整版源代码 COM技术内幕pdf及源代码,完整版源代码 COM技术内幕pdf及源代码,完整版源代码

COM技术内幕(笔记)

健忘日记 欢迎UI开发交流与合作 duwenjie@gmail.com 博客园首页博问闪存新随笔联系订阅管理 随笔- 144  文章- 0  评论- 63  COM技术内幕(笔记) COM——到底是什么?——COM标准的要点介绍,它被设计用来解决什么问题?基本元素的定义——COM术语以及这些术语的含义。 使用和处理COM对象

bigwudan的专栏 2221

COM技术内幕(经典书籍)

COM技术内幕,学习COM必看书籍,经典书籍啊

COM技术内幕 || 这样理解COM组件

本文目的:弄清楚何为COM组件。倘若COM组件于你也是朦胧无定义的,请仔细阅读,你能懂! 简述 一个应用程序通常是由单个的二进制文件组成的。当编译器生成此应用程序之后,在对下一版本重新编译并发行新生成的版本之前,应用程序一般不会发生任何变化。操作系统、硬件及客户需求的改变都必须等到整个应用程序被重新编译之后才能够得以认可。整个软件工业就这样随着已发行软件的日益“老化”而奔向未...

darcy_123的博客 2011

COM技术内幕(高清版)

COM技术内幕的高清版,绝无仅有的,不高清不要积分

COM技术内幕源码(COM技术内幕源码)

COM技术内幕源码,com入门书籍的源代码,希望对大家有帮助。

COM技术内幕

《COM技术内幕》 第1章 组件   1、COM,即组件对象模型,是关于如何建立组件以及如何通过组件建构应用程序的一个规范。 2、组件的优点:应用程序可随时间的流逝而发展变化;定制应用程序;组件库;分布式组件。 3、对组件的需求:组件必须动态连接;必须隐藏其内部实现细节。 4、COM组件是以Win32动态链接库(DLLs)或可执行文件(EXEs)的形式发布的可执行代码组成的。遵循COM

阿丹的彩蛋 1166

【机器学习】图神经网络(NRI)模型原理和运动轨迹预测代码实现

NRI模型利用VAE和GNN从观测数据中学习系统动态和交互图,展现出在无监督学习、图结构建模、多步预测和连续松弛方面的强大能力。未来工作可探索动态图结构学习、应用于更复杂系统、提高模型泛化能力和计算效率,以及与其他模型的结合。NRI作为新兴的图神经网络方法,在理解和预测相互作用系统方面潜力巨大,有望在各领域发挥重要作用。

MUKAMO的博客 2778

《COM技术内幕》笔记(1)

《com 技术内幕》第1章 组件1、COM,即组件对象模型,是关于如何建立组件以及如何通过组件建构应用程序的一个规范。2、组件的优点:应用程序可随时间的流逝而发展变化;定制应用程序;组件库;分布式组件。3、对组件的需求:组件必须动态连接;必须隐藏其内部实现细节。4、COM组件是以Win32动态链接库(DLLs)或可执行文件(EXEs)的形式发布的可执行代码组成的。遵循COM规范编写的组

无烟会议室的专栏 产品|编程|软件工程|管理|游戏|电子书 3734

全自动数据分析 - Claude Code Sub-Agents:自动化数据分析工厂

别忘了!claude code也是agent框架,类似langgraph,crewAI,autogen等等agent框架。我改造claude code搞一个数据分析智能体AI。试试看行不行!:让数据分析变得像聊天一样简单!

liangdabiao的博客 1072

3分钟!教会你用 DeepSeek/Claude3.7+Cursor 快速入门AI编程(喂饭级教程)

3分钟!教会你用 DeepSeek/Claude3.7+Cursor 快速入门AI编程(喂饭级教程)

yizhen91y的博客 4723

COM原理之包容与聚合

1.包容和聚合的概念包容和聚合实际上是使一个组件使用另外一个组件的一种技术。包容的情况下,客户只能看到外部组件的接口,而外部组件接口的实现是通过转发给内部组件实现的。聚合的情况下,直接将内部组件的借口暴漏给客户,虽然客户不知道内部组件的存在。2.包容的实现包容的实现比较简单,例如外部组件CA(接口IX,IY,其中IY转发给内部组件),内部组件CB(接口IY)。组件CA中添加一成员变量,用于保存内部组件CB的接口指针:private:   IY* m_pIY;CA中Fy函数的实现:Virtual void _

xsh_123321的专栏 2808

400G光模块测试全攻略:从PCS层到CMIS合规的避坑指南

本文为网络设备测试工程师和光通信研发人员提供了一份详尽的400G光模块测试实战指南。文章深入剖析了从PCS层信号完整性、FEC容限到CMIS管理接口合规性测试的全流程,并分享了ANLT协议分析、SerDes眼图调试以及系统级流量压力测试中的核心技巧与常见避坑点,旨在帮助读者构建一套高效、精准的测试体系,确保高速光模块的可靠性与性能。

weixin_29300931的博客 211

COM包容和聚合

   包容和聚合实际上是一个组件使用另一个组件的技术。对于这两个组件,可以把第一个组件称为外部组件,被使用组件称为内部组件。      1、包容简介      COM包容同C++包容是相似的。但是在COM中,同其他内容类似,包容也是在接口级完成的。外部组件包含指向内部组件接口的指针。此时外部组件只是内部组件的一个客户,它将使用内部组件的接口来实现自己的接口。      外边组件也可以通过将调...

iteye_16714的博客 354

Flutter:如何在Android中实现串口通信调试

本文介绍如何通过flutter_libserialport插件在Flutter中实现串口通信调试。

sg_knight的专栏 6098

Orange3实战教程:文本挖掘---主题建模

主题建模通过LDA、LSI或HDP算法分析文档集合,自动发现隐含主题结构。组件输入为文档语料库,输出包括带主题权重的语料库、主题词分布及完整主题数据。不同算法特性各异:LSI允许正负权重但解释性较弱,LDA更易解释,HDP参数复杂需谨慎设置。结果可结合词云、热力图等可视化工具分析主题特征及分布。示例显示如何通过预处理文本、选择算法(如提取5个LDA主题),并利用MDS和箱线图探索主题间关系及关键词分布。

err2008的专栏 364

COM学习笔记6_COM的复用:包容和聚合

继承可分实现继承和接口继承接口继承 :一个类只能继承另一个接口。一个接口是里面只有纯虚函数,没有数据和函数实现实现继承 :一个类继承另一个类,包括基类中的各种数据和实现COM不支持实现继承,因为实现继承会造成较大耦合,违背了COM的思想。COM实现复用可采用包容和聚合--------------------------------------------------

hongjiqin的专栏 1641

C#跨平台制图新纪元:Mapsui,一库在手,地图我有

深入学习Mapsui的渲染机制,定制属于你的地图样式,无论是颜色、图标还是文字,都可以随心所欲。

java专栏 1457

包容 vs 聚合

  COM特性潘爱民http://www.icst.pku.edu.cn/CompCourse内容复习:COM实现COM可重用模型 √COM跨进程模型 √COM线程模型COM安全性复习:对象创建过程客户组件创建实例对象DllGetClassObject{}创建类厂对象复习:TreeView组件的注册信息复习:类厂(Class Factory)类厂:用于创建COM对象的COM对象目标:完成COM对象

medvision的专栏 2858

人工智能---什么是Transformer?

Transformer是一种强大的神经网络架构,最初由Google的研究人员在论文《Attention is All You Need》中提出,用于自然语言处理任务,特别是在机器翻译方面取得了巨大成功。Transformer的核心思想是完全基于自注意力机制(self-attention mechanism)来实现序列到序列(sequence-to-sequence)的学习。它在自然语言处理(NLP)和其他序列到序列任务中表现出色,逐渐成为该领域的主流模型。近些年也逐渐在自动驾驶领域有所应用。

智能汽车人的博客 3955

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

用MFC写的COM如何实现包容或聚合?

实现包容只需加一个接口指针的成员变量,然后在固定的地方初始化它(ATL中可以在FinalConstructor()(可能记错)中初始化接口指针,即调用CoCreateInstance),但是在MFC中并没有为CCmdTarget提供类似FinalConstructor的虚函数(至少我不知道有这样的函数),因此在MFC中如果找不到其他的形式(如用CWnd的派生类来实现COM组件,则可在WM_CREA

medvision的专栏 1371

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

COM技术内幕--包容和聚合

包容简介: 一个包含有一个内部组件并使用了其IZ接口的外部组件的内部结构 ////////////////////////////// 在COM中,同其他内容类似,包容也是在接口级完成的。 一个包含有一个内部组件并复用了其IY接口实现的外部组件的内部结构 /////////////// 当外部组件聚合某个接口时,它将

crkres9527 1027

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

COM“可重用性”的两种模型:包容和聚合

http://baike.baidu.com/link?url=mR78uRA1-U4NJ1KvAFHc4KCKclk0Kdr5tbhTdDcXSovEgXON3zx0DlpuVg6Sz8VS

iw1210的专栏 1919

COM 包容与聚合

COM不支持实现继承的原因在于这种继承方式将使得一个对象的实现同另外一个对象的实现紧紧地关联起来。在这种情况下,当基类的实现被修改后,派生类将无法正常运行而必须被修改。这就是为什么一些用C++编写大型程序的专家们强烈建议人们基于抽象类来构建应用程序。 因此,为了保证以组件的修改不会影响应用程序的正常运行,COM并不支持实现继承。我们可以用组件包容来完全模拟实现继承。   包容和聚合   对...

晓晓梦 228

COM聚合

COM聚合... 1 聚合的概念... 1 内部组件的实现... 2 外部组件的实现... 14 ATL7对内部组件的支持... 33 分析:... 54 DECLARE_CLASSFACTORY()宏-------------55 DECLARE_AGGREGATABLE(T)宏---------------------87 ATL7对外部组件的支持... 97 聚...

Dean Chen的专栏 1万+

COM---组件复用:包容与聚合

包容和 聚合为实现组件复用和定制提供了一种极鲁棒性的机制。使得COM框架下不需要实现继承,客户通组件的实现完全隔离开。 如果希望给组件增加新的接口,可以使用聚合。聚合是包容的一个特例。以下代码只列出了关键部分,其它部分省略。包容外部组件包含指向内部组件接口的指针,此时外部组件只是内部组件的一个客户。外部组件可通过将调用转发给内部组件来重新实现内部组件的某个接口,还可在内部组件代码前后加上一些代码对

新博客:https://aping-dev.com/ 1653
上一篇: COM 技术内幕学习之七 (类厂)
下一篇: COM 技术内幕学习之九 (简化程序编写)
InsideKernel
博客等级 码龄19年 5粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值