荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzt (好好学习,天天向上), 信区: Program
标  题: [转载] MFC四大天王(二)--programming windows cudo (转寄)
发信站: BBS 荔园晨风站 (Thu Mar  2 16:10:17 2000), 转信

【 以下文字转载自 zzt 的信箱 】
【 原文由 zhuzutao.bbs@smth.org 所发表 】
发信人: magiceye (世纪末的风), 信区: VisualC
标  题: MFC四大天王(二)--programming windows 95 with mf
发信站: BBS 水木清华站 (Wed Nov 24 12:19:17 1999)


■Programming Windows 95 with MFC

作者:Jeff Prosise
出版公司:Microsoft Press
出版日期:1996 第二季
页数:14 章,998 页
售价:US$ 49.95。含光碟一片。

PartI:MFC Basics
1. Hello, MFC
2. Drawing in a Window
3. The Mouse and the Keyboard
4. Menus
5. Controls
6. Dialog Boxes and Property Sheets
7. Timers and Idle Processing

PartII:The Document/View Architecture
8. Documents, Views, and Single Document Interface
9. Multiple Documents and Multiple Views
10. Printing and Print Previewing
11. Toolbars, Status Bars, and Versionable Schemas

PartIII:Advanced Topics
12. Bitmaps, Palettes, and Regions
13. The Common Controls
14. Threads and Thread Synchronization

每一位 MFC 书籍作者,最大的梦想就是其作品被誉为「C++ 中的Petzold 书籍」。
有人亲访 Petzold,有人则搬出老天王来说几句话。老天王 Ray Duncan 这麽说: "Jeff
Prosise has written the definitive introduction to Widnows software
development in the era of 32 bits and application frameworks. This
book is the Petzold for MFC programming"。这段话被当作本书的广告主打词。
有趣的是,尽管万方争取,Petzold 本人倒是从来没有说过什麽话。也许他想说的是『我
自己来写本 MFC 经典』,呵呵。

本书有没有接班人的能耐呢?有!和 Inside Visual C++ 比较,本书在低阶部份
照顾得多些,程式细节则非常完备。别误会,我的意思并非说它是那种「把五句话可以说
清楚的一段文字,以十句话来表达」的书籍(注),我是说它把各个技术主题挖得很深入,
旁徵博引的功夫很好,资料准备得很齐全。

注:另一位大师 Matt Pietrek 的书就有点这种拖拉味道,不过书仍然很棒就是了。
下次我会介绍 Matt 的一本重量级作品。

本书在导入部份比 Inside Visual C++ 好。作者先安排一个极小的 SDK 程式,
解释 message-based、event-driven 的程式模型,然後再安排一个极小的 MFC 程
式,解释 framework的运作,告诉你应该改写什麽函式,标准作法如何,应该拦截什麽
讯息,标准作法又如何。虽然程式运行的脉络仍然不是十分清晰可寻,不过总算是表现不
错了。

从章节目录可以看出,这本书选题中规中矩,该有的没遗漏,大独家倒也没有。注意,
所有的范例程式都没有说明其制作过程,只是列出原始码并以文字解释原始码的意义。你
知道,视觉性软体开发过程中,工具的参与绝对少不了,而且角色日形吃重,因此,本书
读者要自己想办法补足「工具的使用」这一节。Inside Visual C++ 就不一样了,几
乎对於每一个程式,都详列出工具参与的足迹。

究竟工具的使用要在什麽时候进场,才能够带来利益而不是沉重的盲与茫呢?我以为
作者最好先给一个纯手工制造的MFC 程式,用来解释 MFC 程式的来龙去脉以及程式和
application framework 的互动关系,然後再引进工具的使用说明,然後就安排让工
具强力介入程式设计过程。毕竟,正规的、大型的 MFC 程式开发过程中少不了工具的运
用。

Inside Visual C++ 的作者操之过急,工具一下子全面介入,Programming Win95
with MFC 的作者又避若蛇蝎,完全舍弃工具。

过犹不及!这方面 Dissecting MFC 的作者就处理得不错。这本书没有谈到当红的
OLE 和 ActiveX。关於这一点,Windows Developer's Journal(WDJ)的 Books in
Brief 专栏(主持人是 Ron Burk)在 1996.10 有这麽一段读者与评论者的对话:

读者来函:『我还忘了说,Prosise 的这本书完全没有讨论 OLE。虽然我了解这是这
本一般性、介绍性书籍的抉择,我还是认为这和书名之间存在着一种矛盾。毕竟,Win95 程
式设计一定会牵扯到某些 COM 和 OLE。实际情况的确如此,现在再也不可能和 shell
交谈而没有使用 COM 物件了,Uniform Data Transfer 似乎也已经成为实作拖放(drag
and drop)和剪贴(copy and paste)功能的最佳途径了。所以,忽略这个主题实在
令人有点惊讶。』

Burk 回答:『我同意你的大部份观点。程式设计书籍的名称没有恰如其份地反应出书
籍内容是出了名的,所以我无法不同意你的观点。然而,我绝对不赞成这本书涵盖 OLE。
OLE 复杂到足够成为一本书。要在这一本已经过胖的书籍中加入一章 OLE,可想而知必
然内容肤浅,就像其他为了满足市场因素而强加一章 OLE 的其他书籍一样。那样的书籍
在我的架上有一大堆。与其加一章肤浅的 OLE,我宁愿作者多花时间让其他章节更有深度
些。...我比任何人忍耐了更多的烂书,所以我宁愿看到涵盖主题不多但是内容十分扎实
的书籍。』

「与其加一章肤浅的 OLE,我宁愿作者多花时间让其他章节更有深度些。」唔,就连
我当初阅读 Carles Petzold 的世界名著Programming Windows 95 的最後一章
(OLE)时,也有相同的感受。如果 Prosise 来到台湾,发现他的大作被改了名称,加
上了在他抉择之外的 ActiveX,让我们猜猜他脸上的表情。这本书的中译本在原着之外
增加了第零章 ActiveX,我愿意相信是出版者的用心,而不是如 Ron Burk 所说「为了
满足市场因素而强加一章肤浅的 OLE」。我不愿评论中文版新加的一章内容如何,毕竟用
心良苦。但是把书名也给改了,挂上斗大的 ActiveX,这种行径曾经在 BBS 上引起读者
的强烈抗议,他们说这是「挂羊头卖狗肉」。

Ron Burk 说「程式设计书籍的名称没有恰当反应出其内容,是出了名的」,嗯...
嗯...我也感受深刻。


--
※ 修改:·magiceye 於 Nov 24 12:32:49 修改本文·[FROM:  210.32.132.191]
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 210.32.132.191]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.11]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店