《Essential COM》写作思路分析

DrCMM 2002-03-03 01:28:38
这是我们内部BBS上的一个帖子,觉得还有点启发就发上来了。

《Essential COM》写作思路分析

COM是一个复杂的技术主题,而《Essential COM》被誉为“没有人能够比Don Box把COM阐释得更清楚”。可见,《Essential COM》一书的真正价值不在于技术含量,而在于其写作思路和表现形式,找到了“表达COM的最佳方法”。研究该书的写作思路和表现形式,无疑对本工作室高质量生产技术类图书有极大参考价值。
Don Box力图揭示出“the primary motivating factors behind COM”,也就是COM深层的“第一推动力”。Don Box强调COM是一个编程模型,是一组关于程序设计的严格有序的规则。Don Box力图揭示出COM的每一个特性的由来——究竟是在编程实践中遇到了什么样的问题使得原有的方法、技术不再适用,这种程序设计实践的不断发展和现有编程技术的相对落后之间的矛盾,导致人们设计出COM的这样那样的特性来?Don Box强调的是COM中的核心概念(Core Concepts,Basic Vocabulary)——接口、类、基本的线程安全单元和线程安全,强调的是COM的“Why”,而不是COM的“How”。Don Box还强调,学习COM的最好方法就是“用COM编程,同时思考程序为什么能够工作”,这其实也是计算机领域中一切问题学习的最好方法。
实际上,这些思路都不新鲜,恰恰是我们中国人思维最擅长的,喜欢问动因、挖底层、探寻本质规律。套用一般文学评论中常用的话,Don Box善于制造编程实践和现有技术的“紧张关系”,好不容易一个矛盾解决了,另一个问题又产生了,全书始终保持一种“张力”吸引读者阅读。就在这样一个又一个问题的解决中,COM也就逐渐阐释清楚了。不能不赞叹Don Box的写作策略!

全书章节安排如下:
第一章,COM是一个更好的C++。
在这一章,通过一个实例——改造一个C++类为可重用组件的过程,指出C++的一些缺陷,说明C++对象模型不能够成为“构建可重用软件组件”的理想底层基础。
第二章到第六章,分别讲述COM的基本概念:接口、类、对象、Apartment、安全性。这部分叙述的逻辑顺序,是按照一般的COM主题划分,特色是在于其中的讲解和阐释。
第七章,杂项。该章包括了一些不好分类的内容。

总结:
1 问题驱动式的叙述。背景介绍-导入问题-解决方法-COM特性,这样的一种模式非常自然,符合人的认识规律和思维习惯。
2 抓住核心概念。缺点在于没有总结性的图表,揭示出基本概念之间的联系。而《设计模式》就给出了书中所有设计模式之间的相互关系。
3 从编程中学习。丰富的代码和图例剖析,而且其中代码的质量很高,决不是拼凑之作。

另外,潘爱民先生对这本著作的翻译还是有可以改进之处,我这里没有英文原著,但是MSDN上有该书的前言和第3章以及第5章,工作室的各位同事可以对照看看。
...全文
33 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
crollingstone 2002-03-03
  • 打赏
  • 举报
回复
不过,我个人认为,BOX这本书有一很大的缺陷,就是没有象INSIDE COM 那样用工具具体逐步实现其想法。所以给人感觉太缺图解了,如果有工具步骤,我相信更能够理解其想法,持外,我觉的“更好的C++”提法有点问题,因为二进制标准很难说是语言的一部分,JAVA的实现其实很象操作系统了,不单纯是一个语言的实现。此外,从C++的不足开始COM,有点过火了,因为想理解COM的人未必就懂C++,也就是说,COM的起源有可能是从C++开始的,但现在在理解COM,还要从C++的不足开始好象不大好,就象微积分的起源是从物理和几何开始的,但现在学它还要这样,就不大好了。如果BOX能够从高的观点看COM,因为二进制标准,java也能实现,构件的好处大家都能知道,问题是比较一下,com 和 CORBA技术的不同,和各自的有缺点。
和为什么。
当然,这本书确实很棒,比《atl深入解析》的翻译也好。
不过总觉的有如上的不足。
这本书在AMAZON也并不是五个星。

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧