рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Состав COM-объекта

Состав COM-объекта - раздел Программирование, Разработка приложений в рамках COM/DCOM технологии Состав Com-Объекта. В Com-Технологии Различаются Следующие Строительные Блоки...

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

Термин чисто определенный метод или абстрактный метод исходит теории объектно-ориентированного анализа, и означает, что в определении класса отсутствует реализация метода, а присутствует только его определение.

От такого класса нельзя создавать объекты. Его предназначение описать фундаментальные общности для всех производных классов COM object COM-объект объект класса CoClass, который содержит реализацию COM интерфейса COMActiveX server COM сервер или ActiveX сервер модуль, такой как EXE, DLL или OCX, который содержит машинный код COM или ActiveX объектов Class factory фабрика классов объект, который может создавать COM-объекты из CoClass Type library библиотека типов файл, содержащий информацию о типах данных, которые использует COMActiveX сервер. 2. Интерфейсы Интерфейсы являются основными строительными единицами COM. Они объединяются на семантически связанные группы подпрограмм, через которые COM-объекты осуществляют взаимодействие COM определяет следующие ключевые аспекты, связанные с COM-интерфейсами Методы интерфейса абстрактны чисто определены.

Интерфейс представляет собой набор прототипов методов, чье назначение состоит только в определении интерфейса.

Определения прототипов методов включает в себя определения числа и типов передаваемых значений, возвращаемого значения, а также ожидаемого поведения объекта. Как методы реализованы, в определение интерфейса не включается. Таким образом, реализуется полиморфизм интерфейса, т.к. каждый потомок, наследующий интерфейс, может включать собственную реализацию метода Интерфейс подчиняется двоичному стандарту. Так как все методы интерфейса абстрактны, интерфейс представлен как указатель на vtable virtual table.

Каждая запись в vtable представляет собой ссылку на соответствующий метод класса, который содержит реализацию интерфейса. Определение интерфейса как указателя устанавливает протокол для доступа к COM-объекту, который является двоичным. Таким образом, получение доступа к реализации метода интерфейса объекта представляет собой через последовательную процедуру получения указателей С GUID система связывает указатель на интерфейс.

Указатель на интерфейс, в свою очередь является указателем на vtable, через которую обеспечивается указатель на таблицу указателей на код с реализациями методов. Множество объектов одного класса в системе используют одну общую vtable, и для каждого такого объекта создается структура с частными данными, необходимыми для корректного вызова функций. Интерфейс включает в себя определенную функциональность. Методы интерфейса семантически связаны по функциональности и назначению.

Согласно этому, методы интерфейса обычно именуется согласно своему назначению, и имя предваряется заглавной I. Для примера, метод IMalloc предназначен для размещения и освобождения памяти Интерфейс имеет уникальный идентификатор. Интерфейсы различаются посредством использования глобальных идентификаторов GUID, которые используются для ссылки на идентификаторы конкретных интерфейсов IID Interface Identifier. Каждый интерфейс имеет свой IID, и при регистрации в системе получает связанный с ним GUID. Использование GUID более совершенно, чем использование символьных имен, т.к. гарантирует отсутствие конфликтов имен при обновлении программных продуктов выхода новых версий и при использовании программного обеспечения от различных производителей Интерфейс не может измениться после регистрации в системе.

Каждый интерфейс предназначен для выполнения определенной задачи, и определяет, какие данные поступают на обработку и какие данные выводятся. Таким образом, после того, как интерфейс опубликован в системе, и стал доступен для использования, он не должен меняться.

Любое изменение в семантике интерфейса ведет к необходимости оявления нового интерфейса. Однако существует возможность безопасной реализации многоинтерфейсных объектов посредством использования для доступа к разным версиям интерфейса разные IID. Интерфейсы наследуют функциональность от одного базового предка. Все интерфейсы прямо или косвенно являются потомками интерфейса IUnknown.

Этот интерфейс обеспечивает базовую функциональность интерфейса, которая включает в себя динамический опрос объекта dynamic quering и управление жизненным циклом объекта lifetime managment. Эта функциональность обеспечивается тремя методами интерфейса IUnknown QueryInterface, AddRef и Release. Каждый класс, который реализует интерфейс, должен реализовать эти три метода, наряду с методами, унаследованные от другого интерфейса, и своими собственными методами. Ниже представлено краткое описание функционального назначения упомянутых методов - QueryInetrface обеспечивает опрос объекта и доступ к указателю на интерфейс.

QueryInerface является первой записью в vtable, и предлагает эффективный путь для определения возможностей объекта, в простейшем случае через этот метод при установлении связи обеспечивается передача указателя на интерфейс IUnknown тому объекту, который пытается получить доступ к данному объекту. Данный метод также делает возможным обновление COM объекта без потерь на обновление остальных зависимых объектов, т.к. объект может быть динамически опрошен клиентами через указатель на IUnknown.

Это функция носит название dynamic quering - AddRef и Release находятся на втором и третьем местах в vtable. Это простые счетные функции, которые предоставляются для управления временем жизни объекта. Пока внутренний счетчик объекта, отражающий количества раз вызова AddRef и Release больше нуля вызов AddRef может увеличивать его значение, объект остается в памяти.

Как только значение счетчика достигает нуля вызов Release может уменьшать его значение, реализация интерфейса может безопасно удалить все зависимые нижележащие объекты. Это функция носит название lifetime managment 2.3.

– Конец работы –

Эта тема принадлежит разделу:

Разработка приложений в рамках COM/DCOM технологии

Целью разработки COM-технологии являлось стремление к интеграции программного обеспечения через стандартизацию механизмов взаимодействия программных… На основе данной технологии, которая является масштабируемой, разработано… С этим приходится считаться, и каждый программный продукт, выпущенный под платформу Windows, для достижения…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Состав COM-объекта

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Обзор COM-технологии
Обзор COM-технологии. Технология COM Component Object Technology объектно-ориентированная программная спецификация, предложенная Microsoft. COM предназначена для повышения надежности взаимодействия

Свойства COM-объектов
Свойства COM-объектов. COM-объект это объект CoClass, который является классом, реализующим один или более интерфейсов. COM-объект предоставляет функции, которые доступны через указатель на один из

COM-серверы
COM-серверы. Объект COM-класса должен иметь в своем составе фабрику классов, и идентификатор класса CLSID Class Identifier, так чтобы COM-объект мог быть создан на основе существующего модуля.

Межпроцессные визуальные объекты
Межпроцессные визуальные объекты. Объекты автоматизации, документы OLE и элементы управления ActiveX являются общими используемыми объектами для всех приложений. Менее общее использование COM-объек

Средства разработки COM-приложений
Средства разработки COM-приложений. Основным инструментом разработки COM-приложений, что закономерно, являются продукты Microsoft, относящиеся к семейству визуальных средств программирования Visual

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги