整理日期 2002/05/
我對讀者來信的回應與整理,一方面是自己留個記錄,一方面
竊自以為對其他讀者容或有點參考價值。所以依序整理下來。
為保障讀者隱私,所有來信一律隱其名,隱其址。曾經特別
囑咐我不要公開者, 當然也不予公開.

傳送日期:

 

 

 

 

傳送日期: 2002年5月26日 AM 10:42
主旨: 關於 STL 源碼剖析 這本書

侯先生:
您好! 您這本書內容寫得很棒,獲益良多,希望先生繼續加油.
不過,關於書籍和排版,個人有一些建議:
1.程式碼的註解顏色為淺藍色,不夠醒目,建議使用其他比較醒目的顏色,例如 : 在程式碼編輯器中,黑底配深綠色是最好的組合.

2.紙張不是很好,個人從買這本書至今,不過數個月,紙張的邊緣已經開始泛黃,我想,這是台灣潮濕的氣候所引起的.翻翻先生之前所著的 深入核心 Windows 作業系統,紙張依然保持很好,翻翻 Design Patterns 原文書, 紙張顏色觸感與這本書差不多,可是,卻不會有此現象.

3.還是紙張的問題, 這本書為純白紙張, 在日光燈的反射之下,非常刺眼,看久了眼睛會疲勞.比較 Data Structures and Problem Solving Using C++ 這本書 , 紙張就很棒, 柔軟 , 不反光, 不泛黃,比較薄.推薦先生採用.

4.環顧台灣作家,也只有先生有能力可以影響出版社.先生的書,內容世界一流,無庸置疑,如果,在
書籍本身能再加強,那先生的書就真的可以擠入世界之林了.

●侯捷回覆

非常感謝您對《STL源碼剖析》提出的中肯意見。

1, 關於本書註解顏色,原本我要的是深藍。正式印刷前我看過彩色打樣稿,但製版廠說樣稿色彩無法很精確,距離正式印刷還有一些不同。所以我無法看出毛病。我也覺得第一刷的藍色過淺,將請出版社研究新刷改善之道。深綠是個好主意。

2. 本書所用紙張,據我了解應該是相當好的紙質。您所說的問題,可能的確如您所言,是紙品特性與環境作用的影響。我手上這本,品相良好。我會轉此意見給出版社。

3. 本書所用紙張並非純白,帶有極微的黃色。關於紙張顏色的偏好,從來各方意見眾多。我會把您的意見放在心上,謝謝。

4. 臺灣出版社(以及近年來展開合作的大陸出版社)的確都很尊重我,使我有機會按我的理想做我的書。感謝您對我的讚美和鼓勵。在我所擇定的寫作方向和題材中,我要求自己的書世界一流(不然就沒有寫它的必要)。但願這些話給您的感受不是自大,而是一個人的強烈理想和自我期許。

5. 本書還有一個您未指出而我不很滿意的地方:絲籤過短,我認為起碼應該有書籍高度的1.5倍,才好使。我將請出版社研究新刷的改進之道。

眳p為了此書的印製(精裝、絲籤、套色),花了許多心力和成本。我特別感謝他們,以及您這樣的讀者。


 

 

傳送日期: 2002年5月28日 AM 09:59
Subject: 候先生﹐請教幾個關於Application FrameWork的問題

你好﹐候先生﹐讀了您的《深入淺出MFC》之後﹐我對Application FrameWork有了很大的興趣。我的問題是﹕

如果要在Windows上完成一個Application FrameWork﹐那麼必須要完成那些基本的功能﹐才能叫做Application FrameWork﹖為什麼﹖

我以前跟過MFC的源代碼﹐但是那時沒有看到你的這本書﹐所以我是就CODE而CODE﹐沒有上到一定的高度。所以現在特別希望能了解一些Application FrameWork的理論知識。你能將你在《深入淺出MFC》一本關於別人對Application FrameWork討論的那些資源Mail給我嗎﹖

我計劃去剖析Delphi VCL的源代碼﹐請問你對Delphi這個AF有什麼看法﹖
謝謝﹐如果能聽到你的教誨﹐我會感激不盡

●侯捷回覆:

> 如果要在Windows上完成一個Application FrameWork﹐那麼必須要完成那些基本的功能﹐才能叫做Application FrameWork﹖為什麼﹖

Application Framework 是什麼呢?就是一種「可以為使用者做出一個 application 骨幹」的framework。framework又是什麼呢?就是一種內聚性很高、彼此牽連、可擴展(這很重要)的class library(詳見《深入淺出MFC》第5章)。因此,你問在Windows上完成一個Application Framework 必須完成那些基本功能,只要問自己「一個 Windows application 需要哪些基本功能」答案就出來了。file Open/Save/SaveAs, Printer Setup, Printing Preview, Copy & Paste, Drag & Drop, OLE/COM, windowing management, Help..., 這些都是。這些是顯現於外在介面(功能)的部份,而為了支撐它們,就需要內部機制如 Message Mapping/Routing, Dynamic Creation, Object Persistence...(這些內部機制都很複雜)。  

> 現在特別希望能了解一些Application FrameWork的理論知識。你能將你在《深入淺出MFC》一本關於別人對Application FrameWork討論的那些資源Mail給我嗎﹖

我只留下我感興趣的,就摘錄在《深入淺出MFC》第5章中。其他的,建議善加運用搜尋引擎,很容易就找到一大堆。

我手上有一本《Framework Process Patterns - Lessons Learned Developing Application Frameworks》by James Carey and Brent Carlson,AW 2002/04 1st printing,是這方面寥寥無幾的專書之一。但是理論和概念很多,具體的「實物」很少,不好讀。

我自己對 Application Framework 一直很感興趣,它曾經是劃時代的一種軟件產品,今後軟件界也少不了它。在我的新作《多型與虛擬 2e》第六章便以MFC為對象,模擬了一個 mini application framework,名為MFCLite,可在侯捷網站自由下載(「先睹為快」欄)。該章達240頁,全章講述MFCLite的設計和實作(這設計是Microsoft MFC Team的功勞,這實作則是我對MFC龐大體積的剪裁和簡化 — 例如少部份內部組織以STL完成)。MFCLite達4000~5000行,而且十分複雜(畢竟是 application framework),所以閱讀它需要相當高的門檻。不過,讀懂它可以讓人在OO, AF有相當層次的徹悟 — 這是完成它之後我的切身感受(不是說它師法的MFC有多好,而是因為這麼一個活生生的例子,又「只有」四五千行)。

> 我計劃去剖析Delphi VCL的源代碼﹐請問你對Delphi這個AF有什麼看法﹖

VCL 很好,但我自己沒有興趣再度深入剖析任何一個AF。一來我已經悟了 Application Framework 的運作和實踐原理(在我感興趣的層次和範圍內),不需要再全面性地再看一個,二來我對Object Pascal不熟。但是在MFC不足的、或吸引我繼續深入研究的某些主題上,我可能會看看其他的 AF 的作法,候選人包括VCL, Qt。