tempad
Readygo技术搜索引擎 >>软件测试 >> 有人看过Effective COM这本书么?

有人看过Effective COM这本书么?

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 9:39:40

有人看过Effective COM这本书么?

楼主Ashura(阿修罗)2001-10-29 10:16:22 在 扩充话题 / 程序人生 提问

想问一下书的水准如何?  
  如果有COM技术内幕和COM本质论、COM编程精彩实例  
  的话,还有买的必要吗?请书友告知,谢谢! 问题点数:50、回复次数:14Top

1 楼vcmfc(【痛苦的虫虫】)回复于 2001-10-29 13:08:00 得分 15

你说这本书是中文版吗?,我怎么都没有听说过呀!,哪儿有它的详细介绍呀???Top

2 楼Ashura(阿修罗)回复于 2001-10-29 16:10:51 得分 0

电力出版社的开发大师系列,我是从  
  深入解析ATL书后的介绍里看到的——不过好像  
  细心的人不多阿。Top

3 楼sinotao(小小菜菜鸟)回复于 2001-10-29 18:20:04 得分 15

 
  有中译本吗,早想看到呀!  
  amazon   四星半,作者有Don   box等!  
  只是看过一点介绍,如果有中译本,就不用上北图复印了!  
   
  Top

4 楼sinotao(小小菜菜鸟)回复于 2001-10-29 18:29:39 得分 0

<uml参考手册>光盘上有50条款目录Top

5 楼zhc(zhc)回复于 2001-10-29 18:36:17 得分 0

你们说的是Essential   Com吧,不会连书名都搞错了吧!Top

6 楼zhc(zhc)回复于 2001-10-29 18:39:03 得分 0

不好意思,犯了经验主义错误,我宣布我上面的发言无效。Top

7 楼linghuye(令狐叶)回复于 2001-10-29 19:28:10 得分 10

我看过部分,北京图书馆第一外文阅览室。  
  是几位大师的合著(好像有DON   BOX),以条款的形式讲述COM的一些要点。  
  水准一流,如果有,我是一定会买的。Top

8 楼Ashura(阿修罗)回复于 2001-10-29 20:09:08 得分 0

那么好像VCmfc又要破财喽……  
  同情……的确有这本书。可以自己看看  
  深入解析ATL书后附的介绍——如果我没眼花的话。Top

9 楼vcmfc(【痛苦的虫虫】)回复于 2001-10-29 21:51:34 得分 0

 
   
  让我生气,我的《深入解析ATL》还没到呢????  
   
   
   
  Top

10 楼vcmfc(【痛苦的虫虫】)回复于 2001-10-29 22:00:24 得分 0

 
   
  to   ashura:你说的这本在amazon上有,国内哪家出版社出版呢?,还是电力吗??  
   
   
  你不会是买E文版吧????Top

11 楼Ashura(阿修罗)回复于 2001-10-30 12:13:50 得分 0

我什么时候说了Amason上有了?  
  没有吧?等你的深入解析ATL  
  到了看看书后的介绍就  
  知道了。嗯,的确是电力出的。Top

12 楼vcmfc(【痛苦的虫虫】)回复于 2001-10-30 19:38:01 得分 0

今天收到了深入解析ATL,不仅有Effective   COM,还有IDL本质论等。  
   
   
   
  预计也会破产。Top

13 楼sinotao(小小菜菜鸟)回复于 2001-10-31 11:55:56 得分 0

 
   
  Shifting   from   C++   to   COM    
  1.   Define   your   interfaces   before   you   define   your   classes   (and   do   it   in   IDL).    
  2.   Design   with   distribution   in   mind.    
  3.   Objects   should   not   have   their   own   user   interface.    
  4.   Beware   the   COM   singleton.    
  5.   Don"t   allow   C++   exceptions   to   cross   method   boundaries.    
  Interfaces    
  6.   Interfaces   are   syntax   and   loose   semantics.   Both   are   immutable.    
  7.   Avoid   E_NOTIMPL.    
  8.   Prefer   typed   data   to   opaque   data.  
  9.   Avoid   connection   points.    
  10.   Don"t   provide   more   than   one   implementation   of   the   same   interface   on   a   single   object.    
  11.   Typeless   languages   lose   the   benefits   of   COM.    
  12.   Dual   interfaces   are   a   hack.   Don"t   require   people   to   implement   them.    
  13.   Choose   the   right   array   type   (avoid   open   and   varying   arrays).    
  14.   Avoid   passing   IUnknown   as   a   statically   typed   object   reference   (use   iid_is).   15.   Avoid     parameters   that   contain   pointers.    
  16.   Be   conscious   of   cyclic   references   (and   the   problems   they   cause).    
  17.   Avoid   wire_marshal,transmit_as,   call_as,   and   cpp_quote.    
   
  Implementations    
  18.   Code   defensively.    
  19.   Always   initialize     parameters.    
  20.   Don"t   use   interface   pointers   that   have   not   been   AddRef"ed    
  21.   Use   static_cast   when   bridging   between   the   C++   type   system   and   the   COM   type   system.    
  22.   Smart   interface   pointers   add   at   least   as   much   complexity   as   they   remove.    
  23.   Don"t   hand-optimize   reference   counting.    
  24.   Implement   enumerators   using   lazy   evaluation.    
  25.   Use   flyweights   where   appropriate.    
  26.   Avoid   using   tearoffs   across   apartment   boundaries.    
  27.   Be   especially   careful   with   BSTRs.    
  28.   COM   aggregation   and   COM   containment   are   for   identity   tricks,   not   code   reuse.      
  Apartments    
  29.   Don"t   access   raw   interface   pointers   across   apartment   boundaries.    
  30.   When   passing   an   interface   pointer   between   one   MTA   thread   and   another,   use   AddRef.    
  31.   User-interface   threads   and   objects   must   run   in   single-threaded   apartments   (STAs).    
  32.   Avoid   creating   threads   from   an   in-process   server.    
  33.   Beware   the   Free-Threaded   Marshaler   (FTM).    
  34.   Beware   physical   locks   in   the   MTA.    
  35.   STAs   may   need   locks   too.    
  36.   Avoid   extant   marshals   on   in-process   objects.    
  37.   Use   CoDisconnectObject   to   inform   the   stub   when   you   go   away   prematurely.    
  Security    
  38.   CoInitializeSecurity   is   your   friend.   Learn   it,   love   it,   call   it.    
  39.   Avoid   As-Activator   activation.    
  40.   Avoid   impersonation.    
  41.   Use   fine-grained   authentication.    
  42.   Use   fine-grained   access   control.    
   
  Transactions    
  43.   Keep   transactions   as   short   as   possible.    
  44.   Always   use   SafeRef   when   handing   out   pointers   to   your   own   object.    
  45.   Don"t   share   object   references   across   activity   boundaries.    
  46.   Beware   of   exposing   object   references   from   the   middle   of   a   transaction   hierarchy.    
  47.   Beware   of   committing   a   transaction   implicitly.    
  48.   Use   nontransactional   objects   where   appropriate.    
  49.   Move   nontrivial   initialization   to   IObjectControl::Activate.    
  50.   Don"t   rely   on   JIT   activation   and   ASAP   deactivation   to   achieve   scalability.  
  电力出版社今年出版了好多好书呀!      
  Top

14 楼hongyucn(宏宇)回复于 2001-10-31 19:55:13 得分 10

我已经买了呀!刚出来的!正在看,还可以!Top

责任编辑: efish 参与评论 查找更多:
相关文章
找书急用!!! 找书急用!!!
关于CFormView的派生 关于CFormView的派生
请教一下,如何对一web页的邮件链接进行拾取 请教一下,如何对一web页的邮件链接进行拾取
求教Redhat Linux的汉化? 求教Redhat Linux的汉化?
广播电视节目网上直播点播系统寻求代理 广播电视节目网上直播点播系统寻求代理
请教怎么实现显示桌面功能? 请教怎么实现显示桌面功能?
怎么有时间取的日期是1900-01-01 怎么有时间取的日期是1900-01-01
菜鸟勿入!! 菜鸟勿入!!
■▲IIS中SESSION求救!!!!▲■ ■▲IIS中SESSION求救!!!!▲■
调用ldap后要做些什么释放?为什么老有遗留的进程? 调用ldap后要做些什么释放?为什么老有遗留的进程?
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎