1、学习了一段时间的MFC的doc/view框架,深有感触,个人来浅谈下自己的看法吧。
优点: 可以让初学者快速的建立一个应用程序,而且这个应用程序所有的基本功能都已经具备了,你可以很容易的开发一个记事本啊、绘图工具什么的,比较快速。
缺点: 这个也是我重点要说的
架构相对来说还是太复杂了,你如果真正要驾驭doc/view框架,你必须精通深入了解doc/view框架。不是说其他框架要精通就不用深入了解框架了,而是MFC的这套框架太依赖于内部实现了,基本上内部实现的每一个步骤都可以被用户进行复用,而且还是比较要经常用到的复用。这样导致的直接结果是用户必须对这个框架的每个细节都比较清楚。一句话框架的用户接口不集中,太分散,不明显。 这一点的根源是他的设计思想: 各个模块均匀分散化,没有主要模块之分。导致各个模块都很重要,都在承担一个重要职责,真正开放一个属于自己流程的程序基本上就是要对MFC的流程要很熟悉。
说白了,MFC就是流程化非常严重的一个架构,不容易扩展,内部组织太紧凑了。 而且MFC将面向对象编程的特性表现得淋漓尽致,那就是 面向对象编程有一个致命的对初学的开发者不利就是:过程淡化。 面向对象编程里面基本过程已经被分到了各个类中,只有在类中才能体现出流程的一个部分。 这样的直接结果是 流程的高度可组织灵活化,但是同时也曝露出了一个大的思想bug,流程可以被外面制定化,外面可误导类进行错误的行为。
总而言之,说白了,流程孕育在了MFC doc/view框架中,文档又说得不够明白,真得很容易走进误区。qt倒是可以拿来试试,看能不能替代掉doc/view的框架。 这个框架为了实现MVC的三层架构,牺牲了效率,制造出了很多复杂流程和代码,特别是消息的杂乱化,太明显的缺点了。
下面我总结下MFC的优势和缺点
优点: 编写简单程序简易
缺点: 架构流程绑定过死,视图消息发送交织在一起,明显的是 扩展性和保密性形成一个非常头痛的问题。 如果要定制自己的流程,简易不要使用doc/view框架
本文探讨了MFC的doc/view框架优缺点,指出其虽然便于快速搭建基础应用,但复杂的架构和流程绑定限制了扩展性。文章还讨论了面向对象编程的特点以及流程组织方式,并建议对于高度定制需求的应用考虑其他框架。

1万+

被折叠的 条评论
为什么被折叠?



