Интерфейсы СОМ
Интерфейсы СОМ
Возможности объектов СОМ доступны через интерфейс. Он представляет собой указатель (адрес памяти) на функции, вызываемые клиентом. Такое взаимодействие между пользователем сервисов объекта — клиентом — и сервером, реализующим объект и его сервисы, называется контрактом. Сервисы имеют и другое название — методы, или функции-члены. Контрактом между программными компонентами определяется:
- уникальный идентификатор интерфейса, отличающий его от других;
- местоположение функций в интерфейсе;
- назначение функций;
- аргументы и возвращаемые значения каждой функции.
Контракт не обязан указывать:
- способ реализации функции;
- код, составляющий функцию;
- язык, использованный для создания объекта;
- платформу, на которой выполняется объект.
Интерфейс не является ни объектом, ни классом (определением) объектов. Интерфейс — это абстрактный класс, который нужно проектировать исходя из возможного применения в самых разных контекстах. Например, простой интерфейс базового чтения-записи потоков данных подойдет для множества самых разных клиентов и типов объектов.