Component: Refers to the fact that COM defines reusable chunks of software in a language- independent manner according to a binary object model. Object: Refers to the fact that the software components being defined resemble objects in the sense that they have a well-defined interface that encapsulates the implementation and allows multiple instances to be created and used. Model: Refers to the fact that COM is primarily a specification (rather than an implementation) of how to build and use component objects. COM provides a way of defining components in a way that is more or less language independent, location independent, operating system independent, and hardware independent. By the way, there is an equally valid and less grandiose way of looking at COM. COM can be viewed simply as a packaging technology that consists of a set of conventions and supporting libraries that allow chunks of software to locate one another and interact in an object-oriented manner. It is sometimes worthwhile to remember this, since it helps to explain why COM is the way it is. |