Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

ECOM (RU)

From 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.
197 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.

×