看了候俊杰先生关于Microsoft Foundation Classes的《深入浅出MFC》,再看了下他的“分身”的书评,弄得自己也有点手痒痒了,但是我还远远没到写书评这种级别,充其量也就当写写读后感吧。

可以这么说,这是我自上大学以来最充实的一个假期了,并不是说我的水平有多突飞猛进,而是以往的假期太过懒散了,几乎没干什么与学习和技术有关的东西,基本都是在玩。相信和高手间的差距大部分就是在这时候被拉开的。在这个假期里,我大致把《深入浅出MFC》这本书看了一遍。网上对这本书的总体评价还是很高的,候俊杰先生也在他的书中展示了很多读者来函,而且他的“分身”侯捷先生也把此书封为“MFC四大天王”之一,尽管看起来有些“自吹自擂”。当然网络上也不乏批评者,认为把此书的地位捧得过高了。

当我下决心要在寒假看完此书的时候,我深信它是一本好书,深信看完后我会功力大增。尽管很多人说MFC没有用,MFC过时之类的东西,尽管我也不知道MFC是否有用或过时,但我对MFC毕竟还是有些感情,而且如果是写可视化程序的话,我用MFC还是稍微熟一些,当然也不是什么MFC高手,只是别的C#、Delphi、netbeans这些更烂。

书的第一章是介绍win32程序的基本知识,恰好我之前学了大概三星期的SDK,因此还是比较熟悉它讲的东西,但是也有一些知识是不懂的,正好加深了对这方面的认识。第二章是讲C++方面的知识的,我之前看过《C++ Primer》,本以为这章会迅速略过,没想到本章最大的重点是讲多态和虚函数,恰好这方面我的认识确实是半桶水,经过大概18页的图文并茂的讲解,我算终于搞明白这个问题了。

第三章是对MFC关键技术的仿真,个人感觉这章是全书精髓所在。MFC中很神秘的几个技术:动态创建、消息映射、命令传递等,都用简化的方法对其进行模仿,让我理解了那些奇怪的宏,以及明白了消息和处理函数是如何关联起来的。以往在添加消息映射的时候,只懂得按书上个方法去做,却全然不知其解,现在算是有些想法了。也许因为对这章的评价高了,对后面的章节期望太高的原因,感觉后面章节的水准有所下降。就如第四章,给我的感觉就是在骗页数,后面有些章节也是这种感觉,明显和前面的深度不在一个档次。尽管候俊杰先生表示无论页数多寡对书的价格没有影响,但这个我只觉得他是在自圆其说。

到了书的后半部分“深入MFC程序设计”,由于我对文档-视图这一结构十分不熟悉(这方面根本就连小程序也没写过),对打印那部分也是如此,导致看得非常慢,而且总有些囫囵吞枣的感觉。这个要等开学后把这两方面的知识补完整了再重新去看。当然这部分当中也有令我兴奋的章节,例如关于消息映射的。没想MFC通过一张“大网”,把消息处理函数组织起来,模拟出一种虚函数的效果,十分奇妙。

假期已过,勉强看完这本书后,没有感觉功力有多大提升,但这本书确实是一本好书,至少我的视野有所开阔,大概明白了应用程序框架是怎么一回事。之前看师兄搞j2ee的时候,说新构造一个对象不用new,还有很多如“映射”这些东西,听得我一头雾水。相信通过这次的学习,之后再学习其他应用程序框架的时候,会有所帮助。