有人看过Effective COM这本书么?
有人看过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
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
