The Component Object Model (COM+) design is Microsoft's specification for inter-operable software units written in multiple languages. It's an ideal framework in which to create reusable nuggets of software that help solve multiple business problems. As adaptability and reusability are the cornerstones of patterned software architecture, as well, the two concepts fit together almost exactly. That's the core premise behind Designing Solutions with COM+ Technologies. The book recognises the fact that no matter what problem you have on hand, other people have probably solved it or something like it already and there's no reason for you to expend undue effort on it. About a third of this book contains statements of architectural problems and COM+ solutions to them, usually in C++. It's manna for true believers in object orientation who want to get the most out of COM+.
In addition to the patterns, the authors have included a COM+ tutorial in their compilation. It isn't as valuable as the patterns, but it provides valuable explanations of some of the newer and more obscure aspects of the environment. The explanations of threads and other concurrency strategies are particularly nice, as is a late section on COM+ as an infrastructure for scalable, distributed software. Read this book--assuming you have a handle on the basics of COM+--for its design patterns and learn from their implementations. If you're new to COM+, you'll benefit by preceding your perusal of this volume with a look at Don Box's Essential COM, which (despite its age) is perhaps the best "learn COM" book around. --David Wall
Topics covered: The latest Component Object Model (COM+) specification, interpreted as an environment in which to create reusable and adaptable patterns. After some introductory material on COM+ fundamentals (including smart pointers, concurrency and the various implementation environments), the authors get to the patterns. These cover streams, persistence, marshal-by-value and reference-cycle management. A section deals with COM+ as it relates to Simple Object Access Protocol (SOAP). [via]