Передача и получение данных из модуля в мое основное приложение с использованием интерфейсов - PullRequest
2 голосов
/ 22 февраля 2010

Я прочитал (дважды) эту очень полезную статью: http://blogs.adobe.com/flexdoc/pdfs/modular.pdf

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

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

Другая проблема, с которой я столкнулся, заключается в том, зачем мне называть мои основные приложения дочерними, если я могу просто импортировать класс модуля? ... Я думаю, это из-за необходимости сохранить модульность, но я не уверен .

1 Ответ

1 голос
/ 22 февраля 2010

Вы можете передать «мостовой» интерфейс в ваши «модули», когда MainApp создаст их. Этот объект позволит модулю вызывать функции для отправки данных.

Так, например, если интерфейс модуля был

function get name() : String 
function get version() : String
function performAction() : void // Blah blah

Вы можете расширить его, чтобы включить

function set mainAppBridge(bridge:MainAppBridge) : void

Интерфейс MainAppBridge может иметь такой метод, как:

function receiveResult(data:Object) : void

После того, как MainApp создаст «модуль», он вызовет set mainAppBridge, передавая реализацию MainAppBridge. Затем модуль может свободно вызывать методы, доступные на этом мосту.

Поскольку все это делается с помощью интерфейсов, вы можете реализовать реальные функциональные возможности, как захотите.

...