小弟最近学习COM 感觉有点力不从心

时间:2021-09-26 09:01:37
目前看COM 技术内幕 看到第7章
关于聚合COM 其概念是理解了 但就是实际编写
起来感觉思路满乱的 不知道大家是否和我一样
一开始学习COM时候 总有些似懂非懂的感觉?

前辈有什么好的建议 可以指点一下我的学习方式

17 个解决方案

#1


我觉得混乱在什么地方呢
那就是感觉自己在写完一个COM后 总感觉
没有实际的掌握COM的运行顺序
比如COM被创建以后 总是莫名其妙的被COM库
调用 QUERYINTERFACE 或 ADDREFF,RELEASE
着实郁闷,我现在记住了一个窍门 COM对象本身 或COM 工厂
的记数器我 总是在构造函数中初始化为1

其实我认为COM是一种思想,最明显特征是通过注册表找到相应的COM 模块
加载入内存运行,我认为当执行顺序达到 DllGetClassObject
也就是COM 被导出的公共函数 以后怎么处理就应该是我的*了
但是实际上COM还是被所谓的规则制约着 着实郁闷


#2


看来楼主和我一样,我在看聚合时,也没有搞懂.于是我跳过了,但看到连接点这一章时就无法跳了.加油呀!!

#3


基本上 inside com从第八章后就有点晦涩难懂了...
建议看看COM本质论或是做几个简单的例子后再看吧

#4


<<essential com>>

#5


老大,你应该看潘爱民的<com原理与应用>,我之前也是和你看同一本书,看得糊理糊涂的,然后看潘爱民的那本,觉得很容易明白,建议去网上搜搜,我是看书的

#6


我还是建议看《COM编程精彩实例》,事实上你没有必要去深入研究细节,就像我们开始学MFC的时候,也会为大堆的宏弄的一头‘污’水。学COM的大部分人主要是基于下面两点:一是能很好地用别人的COM组件,二是可以自己写COM组件。虽然说对原理理解越深,你用起来就越方便,越贴近本质。但是这并不是必须的。我感觉自己就走了一些弯路,当然有些弯路现在证明也并不是绝对的弯路。我的建议是对于潘爱民的那本《COM原理与应用》应该看看,但不必过于抠细节,你知道大概就行了,就是说你要知道它想做什么、怎么做。至于具体实现知道个大概就行了。《COM编程精彩实例》网上评价不是太好,主要可能是因为涉及原理不深,还有翻译的问题。但是我觉得它的例程安排的很好,非常适合对COM有些了解又有些模糊的朋友,就是说实践性非常强,你理解起来会更好------这些也算我学习的一点体会<一般人我不告诉他:) >  注:我不是推销书的

#7


楼上的朋友 我是看扬老师的COM 书 
开始觉得看的还不错  就是到聚合时候代理和非代理接口术语没搞清楚
现在搞清楚了 正在继续看 我看书喜欢 一本本肯 就象玩游戏  
非要通关不可

#8


呵呵,肯下决心啃不是件坏事。坏的是什么都去肯。我在看明白了连接点那一段后就基本上不想去看细节了。宏观上说,COM不过尔尔。当然那并不是说我就精通COM了。对于我来说达到目标是最重要的,我并不想成为COM专家。如果大部分事情都要通关的话,那我会活得好辛苦,况且有些事是永远无法通关的。我不太喜欢玩游戏,如果一定要说点和游戏有关的,那我想设计游戏倒是有那么一点点兴趣。我喜欢control的感觉,而不是被control。所以你只要知道它大概是怎么操纵的,而不必要知道操纵的细节。因为那对于你实现自己操纵别人的细节来说已经足够了。

#9


我也正在学习,看了潘爱民 的<COM原理与应用>前面一些,概述还可以,书上的例子看起来非常枯燥,我看过一片文章.COM沉思录写的非常好,入门非常好,后来的讲解就没有了.

#10


我觉得写的最好的书是,inside ATL ,可惜是英文版

#11


楼上说的是ATL,而这里是讨论COM
这有些不同.

#12


潘爱民的书 说得也不是太明白.
把那一章放一放再看吧,聚合那一章关键在于两个不同名接口所继承自同一IUnknown实现时代来的问题让人头大.
但是看明白这一章后,觉得对COM的整个运行过程有一个清晰的了解.

#13


水到渠成,循序渐进,戒骄戒躁

#14


我花了3年才看懂com本质论。。。。。。

#15


在学COM,郁闷中。。。。

#16


建议看看<<COM本质论>>,
如果觉得有困难通常是自己对C++和OO不熟悉导致的.

#17


ATL编程指南是入门好书

#1


我觉得混乱在什么地方呢
那就是感觉自己在写完一个COM后 总感觉
没有实际的掌握COM的运行顺序
比如COM被创建以后 总是莫名其妙的被COM库
调用 QUERYINTERFACE 或 ADDREFF,RELEASE
着实郁闷,我现在记住了一个窍门 COM对象本身 或COM 工厂
的记数器我 总是在构造函数中初始化为1

其实我认为COM是一种思想,最明显特征是通过注册表找到相应的COM 模块
加载入内存运行,我认为当执行顺序达到 DllGetClassObject
也就是COM 被导出的公共函数 以后怎么处理就应该是我的*了
但是实际上COM还是被所谓的规则制约着 着实郁闷


#2


看来楼主和我一样,我在看聚合时,也没有搞懂.于是我跳过了,但看到连接点这一章时就无法跳了.加油呀!!

#3


基本上 inside com从第八章后就有点晦涩难懂了...
建议看看COM本质论或是做几个简单的例子后再看吧

#4


<<essential com>>

#5


老大,你应该看潘爱民的<com原理与应用>,我之前也是和你看同一本书,看得糊理糊涂的,然后看潘爱民的那本,觉得很容易明白,建议去网上搜搜,我是看书的

#6


我还是建议看《COM编程精彩实例》,事实上你没有必要去深入研究细节,就像我们开始学MFC的时候,也会为大堆的宏弄的一头‘污’水。学COM的大部分人主要是基于下面两点:一是能很好地用别人的COM组件,二是可以自己写COM组件。虽然说对原理理解越深,你用起来就越方便,越贴近本质。但是这并不是必须的。我感觉自己就走了一些弯路,当然有些弯路现在证明也并不是绝对的弯路。我的建议是对于潘爱民的那本《COM原理与应用》应该看看,但不必过于抠细节,你知道大概就行了,就是说你要知道它想做什么、怎么做。至于具体实现知道个大概就行了。《COM编程精彩实例》网上评价不是太好,主要可能是因为涉及原理不深,还有翻译的问题。但是我觉得它的例程安排的很好,非常适合对COM有些了解又有些模糊的朋友,就是说实践性非常强,你理解起来会更好------这些也算我学习的一点体会<一般人我不告诉他:) >  注:我不是推销书的

#7


楼上的朋友 我是看扬老师的COM 书 
开始觉得看的还不错  就是到聚合时候代理和非代理接口术语没搞清楚
现在搞清楚了 正在继续看 我看书喜欢 一本本肯 就象玩游戏  
非要通关不可

#8


呵呵,肯下决心啃不是件坏事。坏的是什么都去肯。我在看明白了连接点那一段后就基本上不想去看细节了。宏观上说,COM不过尔尔。当然那并不是说我就精通COM了。对于我来说达到目标是最重要的,我并不想成为COM专家。如果大部分事情都要通关的话,那我会活得好辛苦,况且有些事是永远无法通关的。我不太喜欢玩游戏,如果一定要说点和游戏有关的,那我想设计游戏倒是有那么一点点兴趣。我喜欢control的感觉,而不是被control。所以你只要知道它大概是怎么操纵的,而不必要知道操纵的细节。因为那对于你实现自己操纵别人的细节来说已经足够了。

#9


我也正在学习,看了潘爱民 的<COM原理与应用>前面一些,概述还可以,书上的例子看起来非常枯燥,我看过一片文章.COM沉思录写的非常好,入门非常好,后来的讲解就没有了.

#10


我觉得写的最好的书是,inside ATL ,可惜是英文版

#11


楼上说的是ATL,而这里是讨论COM
这有些不同.

#12


潘爱民的书 说得也不是太明白.
把那一章放一放再看吧,聚合那一章关键在于两个不同名接口所继承自同一IUnknown实现时代来的问题让人头大.
但是看明白这一章后,觉得对COM的整个运行过程有一个清晰的了解.

#13


水到渠成,循序渐进,戒骄戒躁

#14


我花了3年才看懂com本质论。。。。。。

#15


在学COM,郁闷中。。。。

#16


建议看看<<COM本质论>>,
如果觉得有困难通常是自己对C++和OO不熟悉导致的.

#17


ATL编程指南是入门好书