登录社区:用户名: 密码: 忘记密码 网页功能:加入收藏 设为首页 网站搜索  

文档

下载

图书

论坛

安全

源码

硬件

游戏
首页 信息 空间 VB VC Delphi Java Flash 补丁 控件 安全 黑客 电子书 笔记本 手机 MP3 杀毒 QQ群 产品库 分类信息 编程网站
 内容搜索 网页 下载 源代码
下载排行
MSN8.0简体中文正式版
eMbedded Visual C++ 4.0
DirectX 9.0c 简体中文
DirectX 9.0B SDK
DirectX Redist/SDK最新版
Visual Studio Service Pack..
.NET Framework 2.0 SDK x86
Windows Mobile 2003 SDK
.NET Framework 2.0 SDK x64
Windows XP Service Pack 2
TURBO C 3.0 for DOS
Visual C++ 6.0 用户界面制作..
最新下载
SpeedPHP框架开发手册
DirectX SDK (Jun 2008) 200..
DirectX 2008年6月最新版
编程高手箴言
Windows Server 2003 Servic..
TOM-Skype
Ubuntu实用学习教程
MSN8.5测试版
Absinthe-1.4.1-Windows
IceSword1.18
DarkSpyV1.0.4(T)
honeyd-1.5a.tar
最新招聘信息

您现在的位置:立华软件园->下载中心->电子图书->VC图书
COM本质论
发表日期:2005-04-24文件大小:18MB 下载次数:13572  

版权所有:
软件版本:PDF
文件大小:18MB
操作系统:win9x/NT/2000/XP
下载说明: 本书由一流的权威撰写,揭示了COM(组件对象模型)的本质,旨在帮助开发人员真正理解COM的为什么,而不仅限于怎么使用。书中还提供了一个完整的分布式COM应用,演示了各种编程技术。是程序员必备的参考书。 本书适合有经验的软件开发人员阅读,也可作高校计算机相关专业软件组件课的教材。

关於本书定位,我没有办法一言以敝之。

量子力学大师波耳(Niels Bohr,1922 诺贝尔物理奖得主)曾说:『思考量子理论而不头昏眼花的人,根本不懂量子理论』。

我稍带夸张地借用这句话:『学习 COM 而不头昏眼花的人,根本未曾进入 COM』。

然而,量子理论之所以令人头昏眼花,是因为它与牛顿力学不符,与我们认知的常识不符。COM 之所以令人头昏眼花,却是因为想要认识它的人,根基通常都不够。

基本上,学习 COM,你需要具备不少基础知识:

要知道 Component Object Model 的最初发展原由,你需得了解C++ Object Model 的缺点。唯因清楚世界上最通行的物件导向语言C++ 之所不能,你才能够清楚了解 COM 之所能。
要认识 component 的体质,你必须知道什麽是 DLLs。
要了解 COM 的 apartment model,你必须知道什麽是 threads。
要了解 COM 的分散性质和 security,你必须多少知道一点 IPC、一点 RPC。
要了解 COM 的组态性质,你必须知道什麽是 Windows Registry。
是的,如果我们有了必要的 C++ Object Model 知识(我指的是虚拟函式的内部机制、自然多型与非自然多型、static_cast、dynamic_cast 的意义),并且在学习 COM 之前先明白 COM 究竟要解决软体界的什麽问题,我们就可以逐步摆脱头昏眼花的状态,进入万物静观皆自得的层次,然後就可以逐步将视野扩展到分散式电算环境中的各个主题。

换言之,虽然或许人人都耳闻 COM 大名,但它并不是一个程式新手应该追寻的目标。你必须对物件导向程式开发工具(C++ 语言尤佳)、作业系统概念、分散式处理原则都有一些基础,才具备进入这个领域(并深刻了解它)的本钱。所以,以下我所谓的新手,非指程式开发的全然新手,而是指具备了上述基础的 COM 新手。

做为本书译者,我在这里介绍其他 COM 书籍,有点奇怪。但以资讯教育者的身份,以及书评人身份,为读者铺陈理想的 COM 学习之路,实乃份所当为。我认为,COM 相关书籍大约可分四类:

入门 如 Inside COM (Dale Rogerson / Microsoft Press)
进阶 如 Essential COM (A.W.) 和 DCOM programming(WROX Press)
实作经验 如 Effective COM (Don Box/A.W.)
观念整理 如Understanding ActiveX and OLE(David Chappell/Microsoft Press)
以目前国内软体工程界对 COM 的认识程度,我们最需要的恐怕是第一类。Inside COM 是一本很容易上手的书,我很推荐。但如果想要知道COM 来龙去脉,还得叁酌 Essential COM 第一章。

适才我说过,没有办法简单一句话就说明 Essential COM 的适合对象,原因便是虽然本书前两章极适合牵引你进入 COM 领域,但其他章节却又把COM 挖得很深,深到即令具备 COM 经验的老手读来亦觉吃力。

自从网路上公布我将翻译Essential COM 之後,中译本 COM 本质论 便受到众多读者的期待,我也收到为数极多的 email 询问信函。但是我想,不是每一位期待它的人都有马上享用它的能力,这一点必须提醒你。当然,以「好书千万不要错过」的心情立刻让它进驻你的书架,是我的大安慰。

如果你阅读本书第一章仍觉吃力,那麽你需要先补强 C++ Object Model 的知识。以下是我推荐的两本书:

Inside the C++ Object Model, chap3,4(Lippman/Addison Wesley/1996);中译深度探索 C++ 物件模型(侯俊杰译/ 峰/1998)第三、四章(建议看中译本,因为原文本笔误极多)
多型与虚拟(Polymorphism in C++)(侯俊杰着/松岗/1998)第二章
有趣的是,COM / OLE 领域中重要的两本着作的作者,都提到了一种奇异的顿悟经验。

Inside OLE 作者 Kraig Brockschmidt 说:

我隐约感觉 OLE 远比我原先认知的不同,却又很难打断 OLE 与复合文件之间的等号,因为每一份技术报告都把两者视为同义。我逐渐了解,OLE 事实上已经建立了一个非常巨大的系统,一个在 Windows 之下的物件导向程式设计系统。1993 年一月的某个周日下午,我突然获得了所谓的 OLE 涅 状态。所有关於 OLE 的支支节节突然全都归定位。历经六个月的模糊心智之後,我突然看清楚了 OLE。

Essential COM 作者 Don Box 说:

我一直未能对「COM 程式模型为什麽设计成这个样子」有结构上的了解。幸运的是有一天(1994 年8月8日),突然像神迹一般,COM 对我变得再明白不过,我终於了解了 COM 的设计动机。如何把这个程式模型应用在每天遇到的问题中,也因此显得再明白不过。

两位先生的话,令人觉得学习COM / OLE 之前要先有宗教信仰,以求进入涅 或获得神迹。其实没有渐悟是不可能成就顿悟的,大师开悟之後的种种心法都已详实记录在他们的「嘉言录」当中,就看我们自己的用心了。

祝各位早日进入涅 ,获得神迹。

侯俊杰 1999.01.15 于新竹


【目录】

目 录 / 001

侯俊杰 译序 / 007

Charlie Kindel 序 / 011

Grady Booch 序 / 017

前 言 / 019

第一章 COM 是一个更好的 C++ / 001

分散式软体与 C++(Software Distribution and C++) / 003

动态联结与 C++(Dynamic Linking and C++) / 005

C++ 与可移植性(C++ and Portability) / 006

封装性与 C++(Encapsulation and C++) / 008

从实作(implementation)中分离出介面(interface) / 011

以抽象基础类别做为二进位介面 / 014

执行时期的多型性质(Runtime Polymorphism) / 023

物件的延展性(Object Extensibility) / 025

资源管理(Resource Management) / 033

我们身置何处? / 037

第二章 Interfaces / 039

重访 Interfaces 与Implementations / 039

IDL(Interface Definition Language) / 041

成员函式(Methods)与执行结果 / 044

Interfaces 与IDL / 047

IUnknown / 051

资源管理与IUnknown / 057

型别强制与IUnknown / 061

实作IUnknown / 066

使用 COM Interface 指标 / 071

将 QueryInterface 最佳化 / 074

资料型别(Data Types) / 079

Attributes 与 Properties / 093

异常情况(Exceptions) / 094

我们身置何处? / 100

第三章 Classes / 101

重访 Interfaces 和 Implementation / 101

Class Objects / 104

活化(Activation) / 107

使用SCM(Service Control Manager) / 110

类别与伺服器(Classes and Servers) / 114

一般化(Generalizations) / 123

最佳化(Optimizations) / 126

再一次谈 Interfaces和Implementation / 133

Monikers与Composition(组合) / 139

Monikers 和Persistence(永续生存) / 142

伺服器的生命期(Server Lifetime) / 146

Classes 与IDL / 149

Class Emulation(类别凌驾) / 153

Component Categories(元件种类,元件部门) / 155

我们身置何处? / 161

第四章 Objects / 163

重访IUnknown / 164

QueryInterface 是对称的(Symmetric) / 166

QueryInterface 是递移的(Transitive) / 167

QueryInter

立即下载
下载的书籍需要相应的阅读器才能查看,请到如果你的机器上没有相应的阅读器,请到 图书阅读工具 栏目中下载相关的工具。

我来说两句】 【发送给朋友】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 COM本质论
关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放 / 友情链接

Copyright ©2001-2003 Allrights reserved
e_mail:站长:webmaster(at)lihuasoft.net
网站编程QQ群  
京ICP备05001064号

页面生成时间:0.00418