Component Object Model (COM) is a component technology from Microsoft, featuring remoting, language independence and interface-based programming.
Component Object Model (COM) specifies an architecture, a binary standard, and a supporting infrastructure for building, using, and evolving component-based applications.
Some of the core features of COM are:
- A remoting infrastructure
- The use of interface-based programming
- A threading model
- The ability to write language independent components.
COM is the foundation of technologies such as OLE, ActiveX and COM+.
COM predates .NET and although .NET has replaced some of the features that developers use COM for it is still a crucial technology and the foundation of most inter application communication on Windows.