Объекты СОМ



Объекты СОМ

Ненадолго прервите чтение, запустите видеоролик Chap05.exe с прилагаемого к книге компакт-диска: в нем объясняется разница между объектами, создаваемыми в объектно-ориентированных языках программирования, и объектами СОМ.

Объекты СОМ — это повторно используемые программные компоненты, которые разработаны специально для вызова из других приложений. Ранее объекты, созданные в объектно-ориентированных языках программирования (ООП), можно было повторно применять только в том же самом языке. Технология СОМ позволяет инкапсулировать объекты ООП в повторно используемые динамические библиотеки (DLL), ActiveX-элементы (ОСХ) или исполняемые файлы для работы в разных приложениях и языках программирования. Например, компонент, созданный в Visual C++, Вы легко и просто вставите в приложение, написанное на Visual Basic.

Структура и иерархия объектов

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

Предоставление сервисов

Объекты СОМ предоставляют свои сервисы клиентам — любой части кода (не обязательно приложению), которая использует сервисы объекта. Серверный объект — это часть кода, которая предоставляет сервисы клиенту. Доступ к сервисам осуществляется через интерфейсы СОМ, которые вызываются объектами-клиентами.

Сервисы реализуют два основных типа объектов СОМ: внутрипроцессные (in-process) и внешние (out-of-process). Первые — это библиотеки динамической загрузки, которые всегда выполняются локально. Вторые представляют собой исполняемые модули и могут работать как на локальном, так и на удаленном компьютере.



Содержание раздела