Component Object Model on Microsoftin käyttämä ohjelmistokomponenttimalli, joka on perustana muille ohjelmatoiminnoille kuten OLE ja ActiveX.[1][2]
COM-mallissa kaikkien komponenttien on tarjottava IUnknown
-rajapinta, jolla muut komponentit saavat halutun muun rajapinnan toteutuksen komponentista, sekä viitelaskentaan (olion elinkaareen) käytettävät metodit.[1]