COM


COM is a technology that allows defining software components so that they can be used from a variety of programming languages. It allows components to be used from the same process, from a different process and also from a process running on a remote computer.

Advantages

  • Language independence
  • Very good support - many Microsoft technologies (Office, IE) still rely massively on COM
  • Seamless usage from more modern technologies, such as .NET

Disadvantages

  • Complex implementation
  • Memory management is reference counted, which means circular references can cause issues
  • Global registry information storage can cause problems with different versions of the components

Derived technologies

  • ActiveX
  • COM+
  • DCOM
  • OLE
  • OLE Automation

Development tools

  • Microsoft Visual Studio
  • C++