My knowledge of the subject has obviously increased during the preparation for this review and I recommend the text to everyone who wants to delve to the bottom of COM.
COM, the Component Object Model, is Microsoft's top-level binary specification for the interaction of different software components, even over a network (DCOM).
Someone said it will take 2-3 days to learn the concept of Java- beans and about 5-6 months to grasp the similar concept of COM. Despite the exaggeration, it will take at least two months to work through this enormous book; 600 pages and a size close to a telephone directory.
The explanation for its big format is the claim that a code sample should fit on a single opening, thus enhancing readability. When the code only occupies a single page, the opposite is deliberately left blank. (Which really helps when *working* with the book.) The screenshots also take a lot of space, but it is nice to have confirmed that what you are doing is the right thing.
To sum up, it is designed to be a working book in the true sense. The author's idea is that a programmer learns best by code and after every discussion of a concept, easy to read code is presented to clarify the points. (VC++ users; the book covers both the API and MFC implementation of OLE.) You have two choices, either type all the code by yourself, or cut and paste from the well-structured CD and practise by filling out what is missing.
After explaining the 'heart of OLE', drag-and-drop, a simple clock is used as example for the first ActiveX-control. However hard a topic is, overall a pretty simple example is used.
A good job is also done to explain the confusion of ideas around COM and show on the consistency of topics like ActiveX, OLE, OCX and marshalling. The author spares no effort to treat every aspect of his extensive topic. A chapter is even devoted to the integration of JAVA and COM.
My knowledge of the subject has obviously increased during the preparation for this review and I recommend the text to everyone who wants to delve to the bottom of COM.