×
Namespaces

Variants
Actions

ECOM (RU)

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Статья
Перевод:
Оригинал: ECOM
truf
Последнее редактирование: hamishwillee (16 Dec 2011)

С помощью базовых абстрактных классов и виртуальных функций C++ позволяет программам вызывать функции интерфейсов, не зная названий реализующих их классов. Если спуститься с уровня кода на уровень бинарных файлов, то вы увидите, что для реализации этого подхода в Symbian OS используются полиморфные DLL. Они реализуют определенные интерфейсы и позволяют добавлять новые функции в существующие программные комплексы. Однако, для использования полиморфных DLL каждая программа должна иметь свой механизм определения и загрузки доступных реализаций. ECom устраняет это дублирование функциональности, предоставляя общий программный комплекс, реализующий единый механизм для:

  • регистрации и обнаружения реализаций интерфейсов
  • выбора подходящей для использования реализации
  • обеспечения контроля версий для plug-in'ов

Для того, чтобы продемонстрировать, как ECom справляется с этим, давайте вспомним задачи, возникающие в любой системе с использованием plug-in'ов.

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

Вот четыре явно-объявленных роли в подобной системе:

  • Клиент (client), желающий получить доступ к сервисам
  • Интерфейс (interface), определяющий как получить доступ к сервисам
  • Реализация интерфейса (interface implementation), выполняющая требуемую обработку
  • Комплекс (framework), предоставляющий клиенту доступ к реализациям

Взаимосвязи между ними показаны на следующей UML диаграмме:


Plug-in relationships


Механизм реализаций формирует основу этой системы. Он ответственен за предоставление способов определения и загрузки подходящей реализации интерфейса во время работы программы. ECom является подобным механизмом.

С полным руководством по ECOM вы можете ознакомится в документации Symbian Developer Library

This page was last modified on 16 December 2011, at 04:42.
62 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×