王朝百科
分享
 
 
 

EffectiveCOM中文版

王朝百科·作者佚名  2010-04-18  
宽屏版  字体: |||超大  

EffectiveCOM中文版

作者:美.伯克斯等 著;余蒲澜 译

ISBN:10位[7508308476] 13位[9787508308470]

出版社:中国电力出版社

出版日期:2003-8-1

定价:¥29.00 元

内容提要

本书的结构安排合理。它按不同主题逐步深入地探讨了在COM开发中可能遇到的高级问题。全书涉及了C++到COM的转换接口、安全、单元、实现以及事务等多方面的具体内容。针对每一方面,本书都提供了一些详尽实用的指导原则。它不但考虑了C++的开发人员,而且也兼顾了其他语言的开发人员。相信各层次开发人员在阅读本书之后,在COM的开发方面都会受益匪浅。

编辑推荐

COM是一种开发软件组件的方法。Microsoft的许多技术,如ActiveX、DirectX、OLE以及NET平台的核心,都是基于COM建立起来的;同时,Microsoft也大量地使用COM组件来编写他们的应用程序和操作系统。COM所蕴含的概念并不只是在Windows操作系统下才有效——COM并非一个大的API。实际上,它所代表的面向组件编程与结构化编程及面向对象编程一样,也是一种编程方法,而且有望成为未来的主流。

作者简介

目录

译者序

前言

第1章 从C++转变到COM

实践1 在定义类之前定义接口(用IDL实现)

实践2 设计时牢记分布式的概念

实践3 对象不应该有自己的用户界面

实践4 当心COM单实例

实践5不要允许C++的异常跨越方法边界

第2章 接口

实践6 接口是语法和松散的语义,二者都是不可变的

实践7 避免E_NOTIMPL

实践8 要类型化的数据,不要模糊的数据

实践9 避免连接点

实践10 不要为单个对象的同一接口提供多个实现

实践11 无类型语言失去了COM的优点

实践12 双接口是很苛刻的,不要强求人们去实现它

实践13 选择合适的数组类型(不要使用开放的和可变的数组)

实践14 避免将Iunknown作为一个静态类型化的对象引用(使用iid_is)传递

实践15 避免包含指针的[in,out]参数

实践16 注意循环引用(以及它们可能造成的问题)

实践17 避免使用wire_marshal,transmit_as,call_us以及cpp_quote

第3章 实现

实践18 防御性编码

实践19 总是初始化[out]参数

实践20 不要使用还没有被AddRef的接口指针

实践21 在桥接COM类型系统和C++类型系统时使用staatic_cast

实践22 智能指针带来的复杂性至少和它们消除的复杂性一样多

实践23 不要手工优化引用计数

实践24 使用延迟求值实现枚举器

实践25 适当地使用flyweight

实践26 避免跨单元边界使用tearoff

实践27 要特别地小心使用BSTR

实践28 COM聚合和包容只是一种身份诡计,而不是代码重用

第4章 单元

实践29 不要跨单元边界访问原始接口指针

实践30 当在MTA线程之间传递接口指针时,使用AddRef

实践31 用户界面线程和对象必须在单线程单元(STA)中运行

实践32 避免从进程内服务器创建线程

实践33 小心FTM

实践34 当心MTA中的物理锁

实践35 STA可能也需要锁

实践36 避免扩展进程内对象上的现存列集

实践37 当你提前退出时,请使用CoDisconnectObject来通知存根

第5章 安全

实践38 CoInitializeSecurity是你的朋友,要学习它、爱他、调用它

实践39 避免以激活者方式激活

实践40 避免伪装

实践41 使用细粒度验证

实践42 使用细粒度访问控制

第6章 事务

实践43 使事务尽可能短

实践44 当分发自己的对象的指针时总是使用Saferef

实践45 不要跨活动边界共享对象引用

实践46 小心从事务层次的中间公开对象引用

实践47 小心隐式地提交事务

实践48 在适当的时候使用非事务对象

实践49 把重要的初始化移到IobjectControl::Activate

实践50 不要依赖JIT激活和ASAP停用来实现可伸缩性

结束语

关于作者

索引

译者序

COM是一种开发软件组件的方法。Microsoft的许多技术,如ActiveX、DirectX、OLE以及.NET平台的核心,都是基于COM建立起来的:同时,Microsoft也大量地使用COM组件来编写他们的应用程序和操作系统。COM所蕴含的概念并不只是在Windows操作系统下才有效——COM并非一个大的API。实际上,它所代表的面向组件编程与结构化编程及面向对象编程一样,也是一种编程方法,而且有望成为未来的主流。在任何一种操作系统中,开发人员均可以遵循“COM方法”。可以预见,COM的应用将会日益广泛。因此,对开发人员而言,掌握COM技术就显得尤为重要了。 本书由著名的COM大师DonBox及其合作者一起编写,是AddisonWesley出版..

前言

COM(组件对象模型,Component ObjectModel)与C++在很多方面是并行发展的。二者的发展都是为了一个共同的目标,即通过对现有编程模型的改进来更好地实现对象重用性和模块性。就C++而言,其先前的模型是C语言的过程型程序设计,C++增加了对基于类的面向对象程序设计的支持。而就COM来说,它以前的模型是C++中基于类的编程模型,COM增加了对基于接口,(interface-based)的面向对象程序设计的支持。 随着C++什的发展,有关它的经典著作也越来越多。在这些经典著作之中,引人注目的一本是Scott Meyer撰写的《Effective C++》。这本书可能是第一本不以教授读者C++基本技巧和语法为目的的书。该书针对的..

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有