AI Core — модули приложения
AI-ориентированная схема загрузки модулей, путей к модулям и расширяемости приложения.
Карта модулей приложения
Справочная карта по Prism-модулям, динамическим модулям приложения, их загрузке и приватным ресурсам модулей.
Что здесь ищут
- Где регистрируются сервисы или aura-сущности.
- Как загрузить или проверить модули приложения.
- Как получить пути к приватным файлам модуля.
- Почему пакет или модуль добавляет API только после загрузки.
Общая модель
- Модули регистрируют сервисы, aura-сущности, редакторы, интеграции пакетов и runtime-инфраструктуру.
- Aura packs регистрируют пользовательские actions, triggers, overlays, редакторы переменных и узлы behavior tree.
- Опциональные SDK-пакеты могут добавлять расширения модулей или контейнера.
- Загрузкой модулей управляет общий для приложения
IEyeAurasModuleLoadPlan. EyeAuras и EyePad используют план «загрузить всё», а embedded-host заменяет его явным списком запрошенных имён модулей. modules.config— это подписанный инвентарь модулей. Он связывает имена модулей, пути, Prism-зависимости и identity сборок с конкретными payload, которые загрузчик может рассматривать. В нём могут быть сгенерированные hash/size metadata, но текущий runtime не делает integrity checks по этим данным.- Инвентарь модулей отделён от намерения загрузки. Активный
IEyeAurasModuleLoadPlanрешает, какие записи нужны приложению; физическая форма payload и лицензирование решают, будут загружены обычные или зашифрованные bytes модуля.
API
Prism.Modularity.IModule— контракт реализации модуля.IAppModuleLoader— загружает модули приложения и показывает их состояние загрузки.IModuleLoader— общий контракт состояния загрузки.IEyeAurasModuleLoadPlan— список модулей, которые должен загрузить текущий host.IAppModulePathResolver— определяет директории для приватных ресурсов модуля.IAuraRegistrator— регистрирует aura-сущности во время инициализации модуля.
Что лучше делать
- Начинайте с регистраций модуля, если хотите найти пользовательские сущности.
- Для семантики регистрации и фабрик используйте
auras/entities.md. - Для регистраций из опциональных SDK-пакетов смотрите карты пакетов в
nuget/.
Чего лучше избегать
- Не предполагайте, что классы модулей содержат runtime-логику — часто они только связывают типы между собой.
- Не хардкодьте пути к ресурсам модуля, если для этого уже есть resolver.
Поисковые синонимы
- Prism module
- app module
- module loader
- module path
- module assets
- aura pack
- registration module
Связанные карты
auras/entities.mdauras/overview.mdcore/app-runtime-contexts.mdcore/configuration-persistence.md