Component Object Model
COM is een afkorting voor Component Object Model. COM is een software architectuur, dat ontwikkeld is door Microsoft om de ontwikkeling van component-gebaseerde toepassingen te ondersteunen.
Concept
De werking van COM-objecten is vergelijkbaar met die van objecten in een object-georiënteerde programmeertaal. Een COM-object bevat een interface, waarin gedefinieerd is welke hoofdfunctionaliteiten het COM object heeft. Het gebruiken van het COM-object door andere objecten verloopt dan ook via de functies in de COM-interface. De interne werking van het COM-object blijft verborgen voor gebruikers. Omdat de werking en het gebruik van COM-objecten zoveel lijkt op de manier van programmeren in een OO-taal, zijn COM-objecten ook goed te gebruiken in een dergelijke omgeving.
COM vs. DLL
Een COM-object lijkt een beetje op een Win32 DLL, zoals die gebruikt worden in een Windows omgeving. Een DLL is alleen niet programmeertaal-onafhankelijk. Een COM-object is wel onafhankelijk van de programmeertaal.
Varianten
Een uitbreiding op COM is het Distributed Component Object Model (DCOM). Deze variant is ontwikkeld om ook functionaliteit te bieden over netwerken.