Модел на компонентен обект (COM)

Представени докове
Етикети (всички тагове)
Допълнително

„Component Object Model“ (COM) се превежда от английски като „Component Object Model“ (или „Component Object Model“). Съкращението се произнася "ком". COM е технологичен стандарт, предложен от Microsoft за създаване на компютърни програми, базирани на разпределени компоненти, взаимодействащи един с друг, всеки от които може да се използва едновременно в много програми.

Стандартът следва идеите за OOP полиморфизъм и капсулиране. Стандартът COM не е универсален и се използва главно за създаване на програми за операционни системи от семейството на Microsoft Windows. Освен това в съвременните версии на Windows технологията COM се използва доста широко. COM повлия на създаването на ActiveX технологии, Microsoft OLE Automation, DCOM, COM +, DirectX, XPCOM.

Стандартът COM е създаден през 1993 г. от Microsoft като основа за развитието на нейната OLE технология, която към версия 1.0 вече предоставяше възможност за създаване на т.нар. „съставни документи“ (съставни документи). В пакета MS Office тази технология включваше например диаграми на MS Excel в документи на MS Word.

През 1996 г. Microsoft се опита да преименува OLE на ActiveX, но това беше само частично успешно. Например, OLE позволява внедряването на така наречените „OLE контроли“ (OLE контроли или OCX), тоест елементи на интерфейса за многократна употреба, изградени върху стандарта COM. Те са преименувани на „ActiveX контроли“ (ActiveX контроли), но запазват файловото разширение „.ocx“.

След това Microsoft започна активно да популяризира ActiveX за интернет среда, включително поддръжка на нейните елементи в нейнатаБраузър Internet Explorer. Това доведе до запазване на името OLE за локални технологии за вградени обекти и съставни документи. И OLE мрежовите обекти започнаха да се наричат ​​ActiveX.

Объркването между понятията ActiveX и OLE продължава и до днес, но и в двата случая говорим за COM технологии. Понякога дори понятията COM и OLE се бъркат. Вградените OLE обекти понякога се наричат ​​COM обекти, OLE контейнерите се наричат ​​COM контейнери и т.н.

Основната концепция на стандарта COM е концепцията за COM компонент. Програмите, разработени по стандарта COM, са система от взаимодействащи COM компоненти. На всеки такъв компонент се присвоява уникален идентификатор (GUID). Всеки компонент може да се използва от много програми едновременно.

Компонентът взаимодейства с програмите чрез набори от абстрактни свойства и функции (COM интерфейси). Всеки COM компонент поне поддържа стандартния интерфейс "IUnknown". Последният предоставя основни методи за работа с всеки компонент: QueryInterface, AddRef и Release.

Windows API предоставя основни функции, които ви позволяват да използвате COM компоненти. Много по-удобни и гъвкави инструменти за работа с COM предоставят библиотеките MFC и ATL/WTL. ATL библиотеката все още е най-популярният инструмент за създаване на COM компоненти. Разработката на COM често остава доста сложна и програмистите трябва да изпълняват много рутинни задачи ръчно (което е особено забележимо в случай на програмиране на C++). С технологиите COM+ и .NET Microsoft се опита да опрости разработката на COM компоненти.

През 1996 г. е създадена технологията DCOM. Съкращението означава "Distributed COM", което означава "разпределен COM". Базира се на вариация на RPC, −DCE/RPC технологии. DCOM позволява на COM компонентите да комуникират по мрежата и предоставя основни настройки за сигурност, като посочва кой и от какви машини има правото да създава обект и да извиква неговите методи.

Последна редакция: 2010-08-25 17:08:37