評侯捷的《深入淺出MFC》和李久進的《MFC深入淺出》

萬個函式千個類發表於2013-02-18
侯捷的<深入淺出MFC>相信大家都已經很熟悉了,論壇上也有很多介紹,這裡我就不多說了。 
   
  而李久進的<MFC深入淺出>,聽說的人可能就少得多。原因聽說是這本書當時沒有怎麼宣傳,而自從1999年第1版後,似乎也沒有重印過,現在市面上根本找不到,所以大部分人都不知道。我手裡現在恰好有一本,是從圖書館借的。這本書全名為<MFC深入淺出——從MFC設計到MFC程式設計>李久進編著,華中理工大學出版。此書極佳! 
   
  我這本書是1999年9月第一版,印數居然只有5000冊。這麼好的書只印5000冊,而市面上都讓一堆破爛玩意充斥著…… 
   
  這本書在寫作目的上和侯捷的那本<深入淺出MFC>很相像。都是具體介紹MFC的原理和MFC的設計的。 
   
  看有的帖子說這本書難,這倒沒有感覺到。當然,我看這本書的時候已經學完MFC的很多東西了,也看過侯捷那本。不過,這本書確實不大適合入門。而比較適合精通。 
   
  和侯捷那本書比起來,這兩本書的風格很不一樣。侯捷的那書的特點是剖了很多MFC的原始碼,喜歡用程式碼說明問題,包括自己模擬MFC的方面實現一個類似的構架(什麼什麼模擬),而李久進的那本書不是這樣,他用了很多的圖表,具體介紹了MFC幹很多事的時候的具體過程,比如MFC建立的時候及退出的時候具體的呼叫函式的過程(具體函式的呼叫關係)。這覺得這部分極為重要,這也就是我推崇李久進這本書的原因。而侯捷的那本書這部分內容非常少。這想,這可能是由於侯捷覺得,這部分內容不需要單獨介紹,大家自己剖程式碼就可以解決問題。這確實不錯,李久進的那本書中的內容如果自己剖MFC的原始碼,內容都可以找到。但這是一個非常花工夫的事情,更不要說MFC的實際程式碼中要考慮各種各樣的問題(保護,檢查),程式碼的思路不可能非常清楚,這無疑增加了讀程式碼的難度。和自己花時間一點一點剖MFC程式碼相比,看看這本只有266頁的書無疑有效得多。 
   
  從內容上來講,侯捷的那本<深入淺出MFC>更關心的是MFC的設計,或者說更像是想知道MFC是如何做到它所做到的東西的——從目的上說,是希望在瞭解了MFC的實現方法以後,自己也做出一個類似的東西來(你看別人的原始碼的時候,就是這個目的)。而李久進的那本<MFC深入淺出>更關心的是MFC的使用,看完這本書,當你需要做某件事的時候,你會很清楚MFC是在哪個函式中完成這個工作的,你知道應該過載哪個函式,知道如何實現你的功能。但看完侯捷的那本書,你只是學到了方法,而按照侯捷的方法,你可能還得用半年時間才能剖完相關的程式碼,學到李久進的那本書中所提到的東西。 
   
  我確實非常推崇李久進的<MFC深入淺出>,但這並不意味著我貶低侯捷的那本書。其實,我也非常感謝侯捷的那本書,從這本書中,我學到了一個重要的學習的方法:就是自己追蹤MFC的原始碼,自己修改MFC的程式碼,實現自己的功能。這種學習的方法,使用程式設計工具的方法極其重要。我從侯捷的書中,學到了方法。而在李久進的書中,我學到了內容。但是真正到了你要用的時候,你不可能只用李久進的書中的東西就行了。你實際碰到的問題不會那麼單純,不會容易到你看看某個函式的流程圖表就可以的程度。你還是需要自己動手,自己學MFC的實現,自己寫程式碼——而這些東西,正是侯捷的書中可以教給你的。 
   
  你是希望要一桶魚,還是希望學習釣魚的方法——要一桶魚可以解當務之急,學習釣魚的方法卻可以讓你終身受益。而現在,我們有了兩者兼得的方法——李久進的<MFC深入淺出>像是一桶魚,而侯捷的<深入淺出MFC>就像是釣魚的方法。看完兩本書,兩者兼得,何樂而不為呢。:)

相關文章