书籍详情
COM本质论
作者:(美)Don Box著;潘爱民译;潘爱民译
出版社:中国电力出版社
出版时间:2001-08-01
ISBN:9787508306117
定价:¥49.00
内容简介
这是一本迟到的好书。英文原名《Essential COM》,由具有鬼才之称的Don Box撰写,在计算机界,没有人能把COM阐释得比Don Box更清楚。自1993年COM首次发布以来,COM本身经历了重大的变化,但是它的基本思想和结构一直保持相对稳定,这也正说明了COM思想的魅力所在。尽管如此,由于COM的神秘本质,并不是每个人都能够很容易地理解COM的思想,理解COM的魅力,幸运的是,您看到了这本书,它会告诉您这一切是如何发生的。本书无疑是COM领域中最负有盛名的一本书。在亚马逊的排行榜上曾盘踞数月之久,很多专家给其以极高的评价。读完这本书之后,COM对于您会"变得再明白不过了"(这是"Inside OLE"的作者Kraig Brockschmidt和本书的作者DonBox在顿悟了COM和OLE之后的境界)。期望您会有这样的感受。这不是一本供新手学习的书,也不是一本教您如何开发COM组件的书,而是一本在一定的基础上继续提高对COM的理解的书。如果用它来学习COM,您可能会失望,因为许多内容需要有一定的经验基础才能看得明白;但是如果用它来加深自己对COM的理解,那么这本书再合适不过了。COM是跨语言的组件对象模型,但是它与C++和OO(面向对象)思想的渊源可谓深矣。本书会向您解释这些内容,但前提条件是您必须具备扎实的C++基础知识,特别要理解C++类的二进制结构以及类型转换机制。反过来,阅读本书也可以加强您在C++和OO思想方面的理解。此外,本书还涉及到许多COM高级特性,例如线程模型(或者套间模型)、名字对象、连接点等,因此,要想从本书获得最大受益,您也需要有COM的知识作基础,我建议读者先系统地学习COM之后再阅读本书(可以参看"COM技术内幕"或者"COM原理与应用")。本书由国内COM方面最负盛名的专家潘爱民先生亲自翻译,中国电力出版社7月份推出,期待您的关注。
作者简介
潘爱民中国大陆少有的资深技术作家、译者。潘爱民,浙江海宁人,现任职于北京大学计算机科学技术研究所,研究方向为信息安全和软件开发。“我是一名普通的程序员,在软件开发队伍中算一名老兵了,以上所介绍的经历是我十几年的路,走的路很长,但是没有值得一提的成绩。也许我的介绍中有一些偏颇之处,请大家不必挑刺,因为这只是我的一点感受,真实的感受,它所反映的仅仅是一个侧面。”>>更多作品
目录
第1章 COM是一个更好的C++ 1
1.1 软件分发和C++ 2
1.2 动态链接和C++ 4
1.3 C++和可移植性 5
1.4 封装性和C++ 7
1.5 把接口从实现中分离出来 10
1.6 抽象基类作为二进制接口 12
1.7 运行时多态性 18
1.8 对象扩展性 20
1.9 资源管理 26
1.10 我们走到哪儿了? 29
第2章 接口 30
2.1 再谈接口与实现 30
2.2 IDL 32
2.3 方法和结果 34
2.4 接口和IDL 36
2.5 IUnknown 39
2.6 资源管理和IUnknown 44
2.7 类型强制转换和IUnknown 47
2.8 实现IUnknown 50
2.9 使用COM接口指针 55
2.10 优化QueryInterface 57
2.11 数据类型 60
2.12 IDL属性和COM属性 72
2.13 异常 73
2.14 我们走到哪儿了? 78
第3章 类 79
3.1 再谈接口与实现 79
3.2 类对象 81
3.3 激活 84
3.4 使用SCM 86
3.5 类和服务器 89
3.6 一般化(generalization) 96
3.7 优化(Optimization) 99
3.8 再论接口与实现 105
3.9 名字对象和组合 110
3.10 名字对象和永久性 113
3.11 服务器生命周期 116
3.12 类和IDL 118
3.13 类模仿(class emulation) 121
3.14 组件类别 123
3.15 我们走到哪儿了? 128
第4章 对象 129
4.1 再谈IUnknown 130
4.2 QueryInterface是对称的 131
4.3 QueryInterface是可传递的 132
4.4 QueryInterface是自反的 134
4.5 对象具有静态类型 136
4.6 唯一性和对象实体身份 137
4.7 QueryInterface和IUnknown 138
4.8 多重接口和方法名字 141
4.9 动态复合 149
4.10 二进制复合 155
4.11 包容 165
4.12 我们走到哪儿了? 166
第5章 套间 167
5.1 再谈接口和实现 167
5.2 对象、接口和套间 170
5.3 跨套间访问 173
5.4 进程内列集辅助函数 179
5.5 标准列集结构 183
5.6 实现接口列集器 188
5.7 标准列集、线程和协议 191
5.8 生命周期管理和列集 197
5.9 自定义列集 204
5.10 自由线程列集器 209
5.11 我们走到哪儿了? 217
第6章 应用 218
6.1 进程内激活的缺陷 218
6.2 激活和SCM 219
6.3 再谈服务器生命周期 224
6.4 应用ID 229
6.5 COM和安全性 233
6.6 通过编程实现安全性 240
6.7 访问控制 250
6.8 令牌管理 256
6.9 我们走到哪儿了? 262
第7章 杂项 263
7.1 指针基础 264
7.2 指针和内存 266
7.3 数组 274
7.4 流程控制 290
7.5 动态与静态调用 294
7.6 双向接口协议 298
7.7 IDL中的别名技术 310
7.8 异步方法 314
7.9 我们走到哪儿了? 314
附录A 对象技术的演变 316
附录B 代码摘录 322
COM Chat:一个基于COM的聊天程序 322
1.1 软件分发和C++ 2
1.2 动态链接和C++ 4
1.3 C++和可移植性 5
1.4 封装性和C++ 7
1.5 把接口从实现中分离出来 10
1.6 抽象基类作为二进制接口 12
1.7 运行时多态性 18
1.8 对象扩展性 20
1.9 资源管理 26
1.10 我们走到哪儿了? 29
第2章 接口 30
2.1 再谈接口与实现 30
2.2 IDL 32
2.3 方法和结果 34
2.4 接口和IDL 36
2.5 IUnknown 39
2.6 资源管理和IUnknown 44
2.7 类型强制转换和IUnknown 47
2.8 实现IUnknown 50
2.9 使用COM接口指针 55
2.10 优化QueryInterface 57
2.11 数据类型 60
2.12 IDL属性和COM属性 72
2.13 异常 73
2.14 我们走到哪儿了? 78
第3章 类 79
3.1 再谈接口与实现 79
3.2 类对象 81
3.3 激活 84
3.4 使用SCM 86
3.5 类和服务器 89
3.6 一般化(generalization) 96
3.7 优化(Optimization) 99
3.8 再论接口与实现 105
3.9 名字对象和组合 110
3.10 名字对象和永久性 113
3.11 服务器生命周期 116
3.12 类和IDL 118
3.13 类模仿(class emulation) 121
3.14 组件类别 123
3.15 我们走到哪儿了? 128
第4章 对象 129
4.1 再谈IUnknown 130
4.2 QueryInterface是对称的 131
4.3 QueryInterface是可传递的 132
4.4 QueryInterface是自反的 134
4.5 对象具有静态类型 136
4.6 唯一性和对象实体身份 137
4.7 QueryInterface和IUnknown 138
4.8 多重接口和方法名字 141
4.9 动态复合 149
4.10 二进制复合 155
4.11 包容 165
4.12 我们走到哪儿了? 166
第5章 套间 167
5.1 再谈接口和实现 167
5.2 对象、接口和套间 170
5.3 跨套间访问 173
5.4 进程内列集辅助函数 179
5.5 标准列集结构 183
5.6 实现接口列集器 188
5.7 标准列集、线程和协议 191
5.8 生命周期管理和列集 197
5.9 自定义列集 204
5.10 自由线程列集器 209
5.11 我们走到哪儿了? 217
第6章 应用 218
6.1 进程内激活的缺陷 218
6.2 激活和SCM 219
6.3 再谈服务器生命周期 224
6.4 应用ID 229
6.5 COM和安全性 233
6.6 通过编程实现安全性 240
6.7 访问控制 250
6.8 令牌管理 256
6.9 我们走到哪儿了? 262
第7章 杂项 263
7.1 指针基础 264
7.2 指针和内存 266
7.3 数组 274
7.4 流程控制 290
7.5 动态与静态调用 294
7.6 双向接口协议 298
7.7 IDL中的别名技术 310
7.8 异步方法 314
7.9 我们走到哪儿了? 314
附录A 对象技术的演变 316
附录B 代码摘录 322
COM Chat:一个基于COM的聊天程序 322
猜您喜欢