Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 05:37, 20 April 2008.

ECOM (RU)

From Forum Nokia Wiki

Перевод с английского, оригинальная статья находится здесь.


С помощью базовых абстрактных классов и виртуальных функций 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

Related Discussions
Thread Thread Starter Forum Replies Last Post
how can i insert flash mmi ECOM plugin? kissue99 Symbian User Interface 0 2007-11-16 11:02
Any simple example using SIP Stack? kkoon50 General Symbian C++ 35 2007-04-18 08:32
Incoming Invite not received by SIPExample on E61 mevasudeva VoIP 5 2008-03-16 09:22
Phonebook plugin raju_ajmera General Symbian C++ 9 2007-08-23 11:20
Reporting defects in Carbide.vs? superfrank Symbian Tools & SDKs 2 2006-03-15 09:26
 
Powered by MediaWiki