关于MFC的一点看法

来源:互联网 发布:windows安装分区 编辑:程序博客网 时间:2024/03/02 14:43

这几天一直在学习MFC,关于MFC,其实一年前就接触过,通过孙鑫的《VC++深入详解》视频,还用MFC做了一个魔方程序,和几个简单的小程序(文件加密什么的),但以前一直处在懵懂的状态,只会用AppWizard和ClassWizard,有什么函数就往View里面塞。

这次放假觉得有必要深入了解一下MFC,于是翻开侯捷的《深入浅出MFC》,看的我是大呼过瘾,确实是一本好书,让我了解了很多以前不了解的实现机制(也不能说以前不了解,应该说以前根本不知道,现在想来,以前我对MFC的了解实在是浅的不能再浅了)。

了解了WINDOWS程序的执行过程,和MFC程序的启动过程,还了解了MFC RTTI、动态创建、消息映射、序列化等等一系列机制的内在原理,真是很过瘾。

但是看到最后一部分,也就是大量剖析MFC源代码那一部分,开始越来越头大,期间为了调试一个错误,我也简单跟踪了一次程序走向——调用关系实在是太复杂了。。。各个类各个函数之间互相调用,调用层次非常多,而且条理很不清晰。这一部分的内容,侯SIR为我们剖析源代码的时候也说明了同样的结论——MFC的内部设计真是太复杂太不优美了。。。

不知道学习这样的源代码有什么意义。

 

也难怪,人家设计这个东西又不是让你看内部的,是让你开发的,是为了将软件开发流水线化,这样,如果你能熟读MSDN,了解所有用法,它还是一个很强大的application framework的。

那么费那么大的劲了解MFC的内在机制到底是不是一件聪明的事呢?因为我觉得MFC内部并不是一个很漂亮的设计,而是一个很晦涩很难懂的设计。

对MFC内在机制有所了解当然会很显著地提高用MFC开发的能力,但是它复杂的包装使得想透彻了解它几乎是不可能的。


该不该了解?该了解到什么程度?

不管这个问题的答案如何,对于现在的我,还是“不求甚解”比较合适。

 

因为我相信学习是一个螺旋式上升的过程,待觉得自己可以看懂的时候,再回来看吧。

 

毕竟如此好书不可能只看一遍。

原创粉丝点击