Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Составляющие технологии СОМ




Элемент Назначение
COM Interface Средство, с помощью которого объект COM предоставляет свои функциональные возможности (службы) для внешних клиентов. Объект COM снабжает интерфейсом каждый набор методов и свойств. Любой объект COM имеет один или более интерфейсов
COM server Некоторый модуль (EXE, DLL или OCX), который содержит код объекта (объектов) COM
COM client Программный код, который получает требуемые услуги от сервера через интерфейс(ы) объекта COM. Клиент знает, что он хочет получить от сервера, но не знает как его запрос выполняется внутри сервера. В ряде случаев клиент реализуется как Automation controller (то же, что и ActiveX-клиент)
Type Library Библиотека типов, которая содержит описание COM объекта, его интерфейсов и методов, а также их GUID идентификаторы. Информация из библиотеки записывается в системный реестр и используется клиентским приложением. Delphi предоставляет специальный редактор библиотеки типов, а содержимое библиотеки типов представляет в виде обычного модуля на языке Object Pascal, генерируемого Delphi 
Class Factory Фабрика классов, экземпляр объекта которой создает COM объект. Сам объект фабрики классов создается COM сервером при запросе клиентским приложением первого интерфейса

 

Интересные статьи о СОМ с философским уклоном можно посмотреть по ссылке http://www.developing.ru/com/comix.html . Автор Михаил Безверхов.

Интерфейсы COM. Клиент взаимодействует с объектом COM посредством интерфейса, который представляет собой набор функционально или семантически связанных подпрограмм, с помощью которых обеспечивается связь клиента с провайдером сервисов (сервером). Стандартный способ изображения интерфейса приведен на рис.34.1.

 

 

Рис.34.1. Стандартное обозначение реализации интерфейса

 

Например, каждый COM объект имеет базовый интерфейс IUnknown, который сообщает, какие интерфейсы объекта доступны клиенту. Любой интерфейс сообщает клиенту, какие возможности – методы, свойства и события – он предоставляет.

Ключевыми аспектами интерфейсов объектов COM являются следующие:

· будучи однажды опубликованным, интерфейс не должен изменяться ни при каких обстоятельствах. При необходимости расширение функциональности или предоставление модифицированных методов должно быть выполнено за счет добавления других интерфейсов. Выполнение этого требования гарантирует сохранение работоспособности приложений, использующих «старые» версии методов;

· по соглашению, имя интерфейса должен начинаться с заглавной буквы I, например, IMalloc или IPersist;

· каждый интерфейс имеет гарантированный уникальный идентификатор GUID (Globally Unique Identifier), который представляет собой 128-битное случайное число. Эти идентификаторы называют Interface Identifiers (IIDs). Использование таких идентификаторов ограничивает возможность конфликтов между разными версиями или продуктами;

· интерфейсы обладают языковой независимостью. Для реализации интерфейса может быть использован любой язык программирования, который поддерживает указатели и структуры и позволяет вызвать функцию по указателю на нее;

· сами по себе интерфейсы не являются объектами, а предоставляют способ получения доступа к объекту, а клиент получает доступ к данным объекта посредством вызова функций;

· любой интерфейс является наследником базового интерфейса IUnknown;

· обращения к интерфейсам могут перенаправляться между потоками, процессами и сетевыми компьютерами невидимо для клиента.

Базовый интерфейс IUnknown. Этот интерфейс, который должны поддерживать все COM объекты, включает следующие функции:

· QueryInterface;

· AddRef ;

· Release.

 

Метод QueryInterface, объявленный как

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 504.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...