СОМ или DLL?

Библиотеки динамической компоновки (DLL, Dynamic Link Library) предоставляют схожую функциональность. Приложение подгружает библиотеку и может использовать ее функциональность в своих целях. Подобно DLL, объекты СОМ предоставляют методы, которые приложение может использовать по своему усмотрению. Взаимодействие с объектами СОМ происходит практически так же, как и работа с объектами Delphi. Но имеется и целый ряд отличий:Объекты СОМ имеют более строгую инкапсуляцию. Мы не можем просто так создать СОМ-объект и использовать все его методы, т. к. все методы, так или иначе, сгруппированы по интерфейсам. Для вызова определенного метода нам может понадобиться создать СОМ-объект и запросить нужный интерфейс;

Объекты СОМ — это не объекты Delphi, и процесс их создания будет иным. Существует несколько способов создания СОМ-объектов, но все они используют методы библиотеки COM. API системы DirectX содержит ряд методов, которые упрощают создание некоторых объектов DirectX;

Для управления жизненным циклом объекта мы должны так же пользоваться методами библиотеки СОМ;

СОМ-объекты не требуют явной загрузки. Обычно эти объекты СОМ так же располагаются в DLL, но нам не требуется загружать эту библиотеку или подключать ее статически для использования СОМ-объектов. Каждый СОМ-объект имеет свой уникальный идентификатор, который и используется для его создания. СОМ автоматически загружает нужную библиотеку DLL;

Поскольку модель СОМ представляет собой стандарт бинарной разработки для программных компонентов, то это означает независимость от языка разработки. Создаваемые объекты могут выполняться в одном процессе, в разных процессах и даже на другом компьютере.

Желательно оставить комментарий, также можно поставить трэкбек со своего блога или сайта.

Написать сообщение

Яндекс.Метрика