4.4 Moving toward component technology

The object model presented in this chapter is a binary standard. As such, it is concerned with the layout of memory pointed to by object references, as well as the layout of dispatch tables. Clients making use of objects conforming to this object model also need information on what calling convention to use, as well as information on the type system, which unambiguously specifies the memory representation of types used by the object model.

As a binary standard, the C code that realizes classes is not normative; it merely plays by the rules of the standard. This is precisely how component models based on binary standards, like Microsoft’s COM, work. In fact, this object model could, with a few additions, be expanded to the point where it would qualify as a component model. These additions are discussed in this section. (The component model sketched here borrows liberally from the playbook of COM.)