由VCL和MFC想到的 …
最近在猛看MFC,发现不知MFC的封装是为了什么?
我们使用面向对象的方法,应该是为了使编程更简单,需要更少的计算机知识,使程序更容易理解。换句话说,让计算机理解我们的想法;而不是让我们越来越繁杂的概念和各种所谓的“设计模式”。
如果有一天我们对计算机说,我需要针对双处理器的机器写一个图像处理程序,它就生成了一个程序。或者说,我们告诉机器第一步做什么,第二步做什么,它就能做出一个对应的程序。
这个角度来说,UNIX类的系统要比Windows好很多。或许我对Windows有偏见。都说编程不用每次都从轮子做起,但Windows的这种结构,让你不由自主地做轮子。在Linux下,有一些事情shell能轻松做到而C做起来很费劲的,Windows下如果不用GNU的工具bat就别想了。
现在的MFC呢?它把一种功能转换为另一种更蹩脚的函数,或者是把一个完整的想法让MFC包装的支离破碎。MFC只是尽可能的提高代码的复用,而不管封装后是否易用。
相对来说VCL要比MFC好很多。
以上仅仅是凭个人感觉。如果有一天,能不用Microsoft的东西做开发……