Visual C++ 面向對象編程教程

王育堅 著

jjfbooks-vcpp-oop-wyj-face.jpg (29584 bytes)   jjfbooks-vcpp-oop-wyj-back.jpg (33790 bytes)


侯捷

我一直對程序庫/框架(libraries/frameworks)之類的產品和技術有著深厚的興趣。在我的技術探索地圖中,這兩者一直是最大板塊。MFC(Microsoft Foundation Classes),這個曾經最重要、最為全世界廣泛使用的最早先趨框架產品之一,一直是我關注的焦點。由於 MFC 附含於 Microsoft Visual C++ 之中,導致我們常把學習 MFC 和學習 Visual C++ 並談。名稱其實無所謂,學習 Visual C++ 主要就是學習如何運用 MFC。Visual C++ 本身只是個編譯器,並不需要太多學習(當然它豐富的集成環境需要多加熟練,但這種學習很簡單)。這裡頭真正需要學習的,是C++語言,以及以C++語言寫就的龐大複雜的應用框架MFC。

所謂框架(framework),是一種以classes集體力量為用戶完成工作,並允許用戶在特定協議下注入新血完成擴張的大型程序庫(library)。個別class有自己明確的目標,集體行動的classes當然也必須有一致的明確目標,因此各式各樣的框架有聚焦於數據結構/算法者(如STL),有聚焦於網絡通信者(如ACE),有聚焦於設計模式者(如Loki)。其中聚焦於應用程序骨幹(通常包含GUI圖形界面、文檔視圖、打印、預視、數據交換能力…)者,技術位階極高,我們特別稱為應用框架(application framework)。MFC就是一種「應用框架」,幫助你模塑、建構出你的Windows應用程序骨幹。

除非我等為框架開發者或研究者,否則學習框架是為了應用,不是為了其中展現的技術,更不是為了摸清楚其中每一個環節和每一個流動。是的,除非為了學術目的與純粹技術鑽研,否則學習的目的是為了應用。但是正因為我們對事物的運用嫻熟度隨著我們對事物原理的更多理解而增強,又因為MFC如此龐大繁複(框架無不如此),管中窺豹盲人摸象的情況時有所聞,失控失準的現實例子屢見不鮮,所以我們才需要Dissecting MFC》、《Internal MFC之類書籍,由它們以各自的定位為讀者進行一場外科手術,剖析MFC的肌理與神經。

理解MFC框架本身的同時,為了流暢地運用它,我們還需要大量的實例和良好的解說,並且最好能夠與MFC的肌理和神經關聯起來。這方面,在MFC問世多年的今天,也有了很多好書,例如Inside Visual C++》和《Programming Windows with MFC

北京聯合大學王育堅老師,以十分認真嚴謹的態度,完成了這本《Visual C++面向對象編程教程》。我結識王老師於網絡虛擬空間,迄今未曾見面,卻很榮幸得有機會在本書出版之前閱讀定稿。從這些稿件中,我體會到本書在選題、內容上的優越,以及作者的認真、用心與自信。任何技術都有明日黃花的一天,MFC不可能例外,但是從一本優秀書籍中所學到的技術、知識、乃至態度,是可以延續的。

中國的信息產業非常需要堅實並富實際作用的教材。這需要一批對技術、對教育、對寫作都有足夠實力與熱情的人參與,也需要出版大環境提供更優渥的吸引力。技術書籍談的是技術,技術書籍的寫作本身則就是一門極不容易的技術。基於我對本書稿件的印象以及對王老師的認識,我很樂意向讀者推薦這本書。

侯捷 臺灣.新竹 2003.07.01