Preskočiť na obsah

Component Object Model

z Wikipédie, slobodnej encyklopédie
Verzia z 23:54, 24. január 2011, ktorú vytvoril Matusqo (diskusia | príspevky) (Dokončený prvý odstavec sekcie Prehľad)

Component Object Model (COM) platformovo nezávislý, distribuovaný, objektovo-orientovaný systém pre vytváranie binárnych softvérových komponentov, ktoré sú schopné spolupracovať, uvedený spoločnosťou Microsoft v roku 1993. COM je technológia, na ktorej sú postavené technológie OLE, OLE Automation, ActiveX, COM+ and DCOM.

Prehľad

Podstatou technológie COM je jazykovo nezávislý spôsob implementovania objektov, ktoré môžu byť použité aj v iných prostrediach ako boli vytvorené, dokonca za hranicami jednotlivých počítačov. Ak sú komponenty správne napísané, COM umožňuje používanie objektov bez znalosti ich vnútornej implementácie, čo zároveň núti autorov jednotlivých komponentov poskytovať správne definované rozhrania, ktoré sú oddelené od implementácie. Problém odlišných sémantík alokovania pamäti v rôznych jazykoch je vyriešený tým, že každý objekt je zodpovedný za svoje vytváranie a rušenie pomocou počítania referencií (tzv. reference-couting). Pretypovanie medzi rôznymi rozhraniami objektu zabezpečuje funkcia QueryInterface(). Dedičnosť v rámci COM je vyriešená vytváraním takzvaných pod-objektov, ktorým sú následne odovzdávané volania metód z ich nad-objektov.