学习com-----看来自己还有很长路要走

转载 2006年06月12日 13:43:00
首先声明本人并非COM/ATL高手,尽管本人接触他们已经有4年了,但是因为工作中的一些原因一直未能深入研究和广泛的实际的使用它们。不过回想学习它们的痛苦经历,实在是有点不堪回首。在此仅以此文和大家探讨一下学习它们的路径,以让后来人少走弯路。
我个人认为学习COM是一件不简单的事情,只有一步一个脚印踏踏实实的理解每个观点和理论才能真正懂得其精髓。那样才能在发生错误的时候,依靠自己的知识解决问题。我个人认为如果要学好COM/ATL没有一年的时间是肯定不行的,也许是我比较愚笨。个人认为需要COM/ATL的应该循序渐进,可以参考的书目有:
1、《C++ Primer》——学习C++语言。主要理解其中的继承、重载、多态、多重继承、虚函数、纯虚函数、C++模板,这些都是以后学习COM的基础。因为C++对COM的实现是完全支持的,只有在C++上才能实现COM所有功能,体现其无穷魅力。很多书在说明COM原理的时候也是使用C++给予说明的。《COM技术内幕》中为了说明COM的使用了C++的多重继承和纯虚函数,MFC使用了嵌套类实现COM,ATL使用多重继承实现COM。不要认为这些基础不重要,在很多的满口继承和重载的C++高手中,很多人都不知道什么叫纯虚函数?虚函数表是什么东西?它在内存中是怎么存储的?派生类中又如何?
2、《Windows程序设计》——了解Windows编程的本质,相关的API使用,Windows程序结构、消息传递机制。如果你想在Windows上开发你的COM程序了解一点本质的东西对你后来的开发一定是有帮助的。
3、《深入浅出MFC》——学习MFC的相关知识,了解MFC的封装知识,MFC的框架。个人认为通过本书学习作者对程序的剖析方法才至为重要,那样会帮你在ATL的各种Wizard产生的代码中不至于迷失方向。
4、《COM技术内幕》——一本很好的COM原理说明的书,其在COM学习中的重要性我就不再强调了。我个人就看过4遍,每一遍都有所收获。好书一定要反复读,也许是我的领悟能力比较差吧,也许是作者是老外,叙述事情的方式不容易让国人接受,^_^。
5、《COM原理和应用》——作者使用中国人接受和认识事物的方法和语言,如道家常般的让你再次认识COM的原理,书后半部分更多介绍了COM的一些高级应用,这些实际的应用更让读者从前面众多的COM的理论知识的说教中看到了一丝实际使用的曙光,让人跃跃欲试。
6、《COM本质论》——让你透过现象看本质,如果学习COM不读此书真是让我不敢相信你是做COM编程的。个人认为此书是学习COM的最好的一本书,太精彩了,尤其是前几章一定会让你眼前一亮。书中对套间的描述更让我迷茫很久的问题,得到了最好的解决。但是学习本书一定要有良好的C++基础和对外国人叙述事物的语言的良好领悟能力。
7、《深入解析ATL》——一本介绍ATL的本质的书。结合本书中的讲解和你从《深入浅出MFC》中学到的分析宏、程序剖析的方法一定会让你对COM和ATL有更深入的理解。
8、《IDL精髓》——一本让你能自如的操作MFC和ATL为你生成的一堆如天书般的IDL文件,添加、修改使用它们的工具书。
9、《COM编程精彩实例》——书中前几章的叙述还是不要看的为好,译者的专业基础实在太差。书中提供的例子倒是颇为精彩。更多的贴近实际的使用!
    好了,基础的书我觉得就这些就够了,至于DCOM和COM+的学习那是后话了,需要更多的知识了。呵呵,还是那句话“尽信书不如无书”,COM的理论在发展,也许书中有些理论也会过时,所以如果你有疑问,那么就一定要动手实际测试一下,那样学到的东西才更为扎实。最后要说的就是学习COM/ATL一定要多动手,不要像我一样成为理论上的巨人,实际编程中的矮子,^_^。

java还有很多路要走

 这2天在几个版本的linux上面安装 oracle10g 和sybase12.5 sybase15.0,一直以来也对这些系统自认为比较熟悉,但现在的版本都是用java开发的安装程序,结果发现让jav...
  • mailtowangbin
  • mailtowangbin
  • 2007年09月27日 14:03
  • 512

成为一名专业程序员我还有多长路要走?

今天被一个名不经传的小公司项目经理和前台给郁闷了,第一次觉得郁闷。。。快点,成长为一名专业的senior编程人员。 不能登高 就不能望远看不到世界的广博 何以虚怀若谷? 改变不了别人,唯有改变自己。...
  • roise
  • roise
  • 2009年04月10日 15:57
  • 228

[java学习笔记]逻辑运算中长路运算与短路运算区别

逻辑运算分“与”,“或”,“非”三种,运算符号依次为“&”,“|",”!“, 而与和或又分为长路和短路运算:短路与运算符号为”&&“,短路或运算的符号为”||“, 其区别在于,长路运算会将逻辑运算...
  • df0128
  • df0128
  • 2015年04月11日 17:40
  • 1534

看来很难受

心里真的很难受,好堵好堵,看到这篇文章的亲爱的朋友们,此刻你们大部分都身在外地远离自己的父母吧?不要每天光为了自己的五斗米而奔波,有时间多回家陪陪自己的父母吧!哪怕经常给他们打个电话,问问他们是不是过...
  • bournechen
  • bournechen
  • 2010年03月03日 13:33
  • 575

自己真的还有很多的东西学要学习

从自己工作这两天来看,自己需要学习的东西还是非常多的,虽说在学校里面也是接触到了不少的电子方面的东西,但是很多不是非常实用的而且都是些个没有外界条件要求的设计,可以说是些实验室产品。到了公司里才知道有...
  • lishan1998
  • lishan1998
  • 2013年08月01日 14:48
  • 277

看来android很火啊

看来android不是一般的火啊 随便写点也有上百次的点击率。。。
  • HMC20071120015
  • HMC20071120015
  • 2012年01月10日 23:46
  • 512

月溅星河长路漫漫,风烟残尽独影阑珊——又是一年

不知不觉已经第三年结束了,同时也意味着大学生涯也落下了帷幕。截止到目前为止,其实最怀念的还是大学的生活,最想得到的身份还是学生的身份。 自从上次的总结到这次总结,都是在java的学习中,学习中我自身...
  • u013058618
  • u013058618
  • 2016年08月28日 20:44
  • 1489

谁适合做Scrum Master?

作者:陈勇出处:blog.csdn.net/cheny_com 笔者遇到过的很多企业做敏捷时都遇到这个问题,因为Scrum Master属于西方文化的产物,在国内很难找到一个人非常适合地来做这个职位,...
  • cheny_com
  • cheny_com
  • 2011年02月18日 16:06
  • 5334

学习java是一件很痛苦的事!

已经读到博士了,可是感觉还是一无是处,想给自己充充电,怎奈学一个东西却是这样的困难。想学JAVA的念头由来很久,算起来大概有半年多了,但是真正开始向这个目标发起进攻却是一个月以前的事情,下载了所有的工...
  • lwqzl
  • lwqzl
  • 2005年04月28日 21:17
  • 835

1381硬币游戏

基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 有一个简单但是很有趣的游戏。在这个游戏中有一个硬币还有一张桌子,这张桌子上有很多平行线(如下图所示)。...
  • qaz135135135
  • qaz135135135
  • 2016年08月17日 10:20
  • 341
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习com-----看来自己还有很长路要走
举报原因:
原因补充:

(最多只允许输入30个字)