Кто-нибудь знает, когда использовать mx.modules.ModuleBase вместо mx.modules.Module?Документация, которую я видел, не очень ясна для того, для чего каждый был разработан.Что они подразумевают под «взаимодействует с каркасом» точно?Это просто сводится к визуальным и не визуальным компонентам?Очевидно, что BaseModule, который не взаимодействует с «каркасом», не будет очень полезен, поэтому любой реалистичный подкласс BaseModule, вероятно, будет взаимодействовать с каркасом в некоторой степени.Я предполагаю, что Adobe предоставила ModuleBase, чтобы разработчики могли использовать минимальный объем кода, необходимый для загрузки чего-либо в vm во время выполнения.Есть идеи?Спасибо
Руководство разработчика по Flex pg.990
Расширение класса Module аналогично использованию тега в файле MXML.Вы должны расширить этот класс, если ваш модуль взаимодействует с фреймворком;это обычно означает, что он добавляет объекты в список отображения или иным образом взаимодействует с видимым объектом.
... они продолжают говорить
Если ваш модуль не включаетлюбой код платформы, вы можете создать класс, который расширяет ModuleBase.Если вы используете класс ModuleBase, ваш модуль обычно будет меньше, чем если бы вы использовали модуль, основанный на классе Module, потому что он не имеет каких-либо зависимостей каркасного класса.
Очень круто, спасибокаждый.Да, я тоже прочитал эти комментарии.Поскольку я работал с модулями Flex за последние пару месяцев, я считаю, что моя оригинальная интерпретация была довольно близка »... Adobe предоставила ModuleBase, чтобы разработчики могли расширять минимальный объем кода, необходимый для загрузки чего-либо в vm во время выполнения.«.Я чувствую, что объяснение доктора слишком общее, хотя.Например, у меня есть несколько классов ModuleBase, которые «взаимодействуют с фреймворком».Сами по себе они не являются визуальными компонентами, а используют различные классы инфраструктуры для выполнения своего рода сервисной роли в моих приложениях.Я думаю, что более точным описанием ModuleBase было бы сказать, что «Если ваш модуль не является DisplayObject, то расширяйте его от ModuleBase».