Object-oriented这一概念已经流行了十几年,只要你是程序员,估计对抽象、封装、继承、多态这些概念早就烂熟于胸了。特别是那些从JAVA开始入门的程序员,他们对编程的理解就是使用JFC,必要的时候再继承别人的类,在新类针对应用添加一些变量和方法,这就是一个系统了!!!对于C++程序员也是这样,Windows平台下两大主流编译器:Visual C++和C++ Builder,都提供了丰富的基础类库,程序员可以定制文档/视图的程序框架,在这个框架下可以拖放各种控件构建用户界面,然后利用Class Wizard添加响应代码,即容易又规范是吗?但是,如果没有MFC,你能自己建立一个Windows程序吗?最简单的“Hello World”也将使你举步维艰,也许你会开始怀念使用Tubro C的日子了吧?有的程序员会说,MFC那么强大,为什么要折腾自己来写框架呢?不错,使用类库,有助于提供效率,这也是面向对象带来的最大好处,但是同时你也就被该类库束缚住了,你有没有想过除了MFC提供的单文档、多文档和对话框这几种之外还有什么框架?如果你的应用程序比较特殊,比如三维游戏,你还会用这三种框架之一吗?
作为一名程序员,除了要会写类之外,还要会写框架,MFC适合入门,但它不会使你成为高手。所以我推荐API编程方式,自己写GUI,自己写多线程消息机制,这样你才能体会到编程的乐趣,因为整个系统都是你构建的,你可以随心所欲地改进、扩展,这不就是我们程序员所追求的吗?世界不可能是完全面向对象的,JAVA不过是把main当做static函数封装到其中的一个类里面而已,它同样有int、float等基本类型,所以摆脱依赖性吧,这是程序员成长的第一步!!!