我想学习COM.我该怎么办?

Ian*_*Ian 11 c++ com

我是一名刚毕业的计算机科学学士.就像今天的大多数学校一样,他们不再教学生C或推进C++(只有C++的入门课程......有教学指针).课程中规定的标准编程语言是C#(.NET堆栈).

就在最近,我被聘为初级软件开发人员.95%的代码库都是用C++编写的,我们的产品使用的是COM/DCOM.另外5%是在.NET中.我目前的职责是维护一个用.NET(ASP.NET)编写的项目,我不需要学习C++和其他技术YET.但我想尽快学习COM,以便我可以帮助其他项目.

所以我正在寻求这个社区的建议,我将如何学习COM.我目前的问题如下:

  1. 任何所需的阅读?(必备主题)
  2. 学习COM基础知识的好网站?
  3. 一种简单程序,真正体会COM的"目的"(也许是一个聊天程序?)

谢谢!:)

PS:我应该将其标记为社区维基吗?

小智 9

为了学习COM背后的基本思想,我从来没有遇到任何比Dale Rogerson的Inside COM更好的东西.这是一本旧书,但它非常清楚地解释了为什么需要COM以及如何实现它,你可以在亚马逊上获得二手副本.

至于Don Box的书,我已经阅读了所有这些书,我认为它们非常糟糕.Box neverr解释了他所描述的代码的动机并使用了非常不切实际的例子.但我意识到这是少数意见.


da_*_*m_n 9

我在我的图书馆里有这些关于COM的书,我建议:

  1. 1995年 - Kraig Brockschmidt - 内部OLE第2版
  2. 1998年 - 唐盒子 - 基本COM
  3. 1999年 - 乔治牧羊犬 - 内部ATL
  4. 2000年 - Andrew Troelsen - COM和ATL 3.0开发人员研讨会
  5. 2006年 - Christopher Tavares - ATL Internals:与ATL 8合作,第2版

如果你说你有一些.net背景就有了

  1. 2003年 - Julian Templeman - 使用Microsoft .NET进行COM编程

希望这可以帮助.


mas*_*ini 8

关于COM的Don Box这本书是权威的参考书.亚马逊链接.

谨防是一个艰难的阅读,但它涵盖了深刻的一切.请记住,正如唐所说...... COM是爱.

我不相信你能找到很多网站,很多时候COM是最新技术,但是如果你忘了它就相信我......它会更好!

  • IDispatch很糟糕,但我需要钱.-Don Box(技术编辑 - 大约有一年人们关心这些东西) (3认同)
  • 我完全同意.在本书(Essential COM)中,特别是第一章值得一读,因为它解释了COM背后的概念和原因.如果你完全明白,剩下的就不那么难了...... (2认同)