Overview

Microsoft's Component Object Model (COM) is a binary standard for creating reusable software components.

It is used in many libraries that are useful in game development:

History

1987 – Dynamic Data Exchange (DDE) is introduced for inter-process communication on Windows 2.0.

1991 – Object Linking and Embedding (OLE) is introduced for compound documents. OLE was built on top of DDE and introduced with the release of Word and Excel.

1993 – COM is introduced as a replacement for DDE for the development of software components. OLE 2.0 was introduced with Windows 3.1 and built on top of COM.

1995 – DirectX is introduced as a COM API for multimedia and games.

1996 – ActiveX is introduced as a COM API for internet applications built on OLE.

Principles

Applications

COM maintains a strict separation between interface and implementation.

COM applications are built using components that are identified by class identifiers (CLSIDs).