Recommended Book on COM :: C++

Started by
5 comments, last by kuphryn 21 years, 6 months ago
Hi. Two weeks ago I posted a similar message about recommended advanced C++ books. An overwhelming number of responses mentioned Scott Meyers'' Effective series including STL, Modern C++ Design: Generic Programming and Design Patterns Applied by Andrei Alexandrescu, and Design Patterns. I decided on Scott Meyer''s Effective STL and Modern C++ Design: Generic Programming and Design Patterns Applied by Andrei Alexandrescu. I definitely agree those books are exceptional in terns of advanced techniques and design patterns. I learned more from those books have from all previous C++ books I owned. Now I am ready to move ahead and learn more specific software design, COM. I believe COM should be the next concept to look into because as windows applications become more integrated, COM will be even more popular and useful in the future. I have heard about ATL and know that ATL is to COM and MFC is to Win32 API. Nonetheless, I do not know how ATL relates to C++. What do you recommend as the best book on COM concept and implementation using C++? Thanks, Kuphryn
Advertisement
To start with try "Inside COM" by Dale Rogerson. It presents the basics of COM and Automation using straight C/C++. Makes for a solid foundation. I can''t imagine a better book on the subject.

After that you can move on to ATL by trying either "Inside ATL" by George Shepherd and Brad King or "Beginning ATL COM Programming" by Grimes, Stockton, Templeman, and Reilly. There may be better books out there but these two have served me well.
// Ryan
Okay. Thanks.

Davros posted an interesting reponse about COM and its future at cprogramming.

http://cboard.cprogramming.com/showthread.php?s=c8ca4c9c5844f0b5316a07e371ba0654&threadid=26804

Kuphryn

[edited by - kuphryn on October 20, 2002 1:51:06 PM]
quote:Original post by kuphryn
Okay. Thanks.

Davros posted an interesting reponse about COM and its future at cprogramming.

http://cboard.cprogramming.com/show...&threadid=26804

Kuphryn
Hey that article was great! But your link is corrupt, ... go here if you''re intrested.

In my original message, I did not include a question on the order at which to learn and even become proficient with COM design and implementation using C++.

What is the order in terms of books to study for learning and become proficient with COM design and implementating using C++? In other words, do you learn ATL first, or COM?

Kuphryn

[edited by - kuphryn on October 22, 2002 7:52:17 PM]
I think you have to learn COM to really know how to use the ATL - though you can play-with the ATL without having a great deal of COM knowledge to use as an introduction - there''s an improptu article in the SE forum about using COM to communicate between C++ & VB, but it''s kinda hard to locate now :/

The ATL, Active(X) Template Library, is a set of C++ templates, boiler-plate code, and an integrated VC Wizard to create COM objects. There is also the WTL which is a set of C++ templates that works well with the ATL for handling UI task.
Both the ATL & WTL were designed to have minimal overhead, so that you could create a COM object and distribute it over the internet on modem bandwidth (unlike MFC, which requires a couple of large dll''s, or a large amount of statically linked code).

"Inside COM+ Base Services" and "ATL COM Programming" are the two books I have.

That said, COM is kinda on the out, with .Net as the "COM 3.0" replacement. COM is really 2.0, and COM+ is ~2.5. OLE is ~COM 1.0. It more-or-less started with DDE (Dynamic Data Exchange) and snow-balled from there into .Net over about 9 years.

The goal has remained the same*, but the mechanisms to achieve it is constantly evolving. *Component based software.

I scourned a large number of books and picked ".Net Common Language Runtime: Unleashed" by Kevin Burton (obviously puslished by Sams) as the book for the office.
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
Okay. Thanks.

Should one learn COM before learning DCOM and/or COM+, or is it best to start with the latest technology?

I see members mentioning ATL and WTL. However, I have read little actual ATL and WTL. Why is that? Why are those two COM frameworks not popular?

What do most C++ programmer use to implement COM, DCOM, and COM+?

The primary reason I ask so much about COM technology pass, present, and future is because I do not want to put too much time into sometime comparable to, say, 16-bit ASM. On the other hand, jumping right into ATL without COM experience would like learning MFC via Jeff Prosise because reading Richard Jones'' introduction to MFC.

Kuphryn

This topic is closed to new replies.

Advertisement