??? 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等基本類型,所以擺脫依賴性吧,這是程序員成長的第一步!!!