Amazon cover image
Image from Amazon.com

Effective COM : 50 ways to improve your COM and MTS-based applications / Don Box . . . [et al.].

Contributor(s): Series: Addison-Wesley object technology seriesPublication details: Reading, Mass : Addison-Wesley, c1999.Description: xv, 222 p. : ill. ; 24 cmISBN:
  • 0201379686
Subject(s): DDC classification:
  • 22 005.276 EFF
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Copy number Status Date due Barcode
Book Open Access Book Open Access Engineering Library 005.276 EFF 1 (Browse shelf(Opens below)) 1 Available BUML23101123

TABLE OF CONTENTS

Shifting from C++ to COM
1. Define your Interface Before you Define Your Classes (and do it in IDL).
2. Design with Distribution in Mind
3. Objects should not Have their Own Interface
4. Beware the COM Singleton
5. Don't Allow C++ Exception to Cross Method Boundaries

Interfaces
6. Interfaces are Syntax and Loose Semantics. Both are Immutable
7. Avoid E_NOTIMPL.
8. Prefer Typed Data to Opeque Data
9. Avoid Connection Points
10. Don't Provide More than One Implementation of the same Interface on a Single Object
Etc.

Implementation
18. Code Defensively
19. Always Initialize [ out ] 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
Etc.

Apartments
29. Don't Access Raw Interface Pointers Across Apartment Boundaries
30. Whe 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).
Etc.

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
Etc.



Includes : index: p. 205-222


There are no comments on this title.

to post a comment.