Мы создаем довольно сложное приложение, которое должно быть в состоянии выпустить разные части в разное время. Чтобы помочь нам решить эту проблему, мы используем RSL и модули.
поэтому позвольте мне описать проекты (имена были изменены, чтобы защитить невинных)
ядро (RSL)
клиент (приложение)
продукты (модуль)
бакалейные товарыCore (RSL)
пекарня (модуль)
bakeryCore (rsl)
У нас есть один клиент приложения, который загружает области приложения в виде модулей. У нас есть базовая RSL, которая выполняет такие функции, как вход в систему, содержит права и предоставляет API-интерфейс для модулей для доступа к такого рода состояниям, а также для связи друг с другом.
Когда мы загружаем клиента, мы хотим, чтобы загружалось только ядро rsl, как это требуется в данный момент. Когда загружен модуль бакалеи, мы хотим, чтобы загружался продуктовый rsl, а также, когда загружается модуль хлебобулочных изделий, мы хотим, чтобы bakeryCore rsl загружался.
На самом деле это не то, что происходит. Если мы настроим проекты таким образом во время выполнения, ядро rsl загружается при запуске приложения, но RSL модуля не загружаются при загрузке модуля. Если мы запустим приложение из проекта, в котором находится модуль бакалеи, он будет загружаться при загрузке приложения, но не при загрузке модуля.
Нам нужен способ загрузки rsl при загрузке модуля.
В данный момент мы указываем groceriesCore и bakeryCore в клиентском приложении, чтобы они загружались при загрузке клиента. Очевидно, что это не очень хорошая идея, поскольку, когда мы добавляем еще 30 отделов, мы не хотим, чтобы все эти отделы загружались при запуске приложения - мы хотим, чтобы они загружались только тогда, когда они необходимы - при загрузке приложения.
Как мне этого добиться? (кроме ужасной пользовательской вещи типа загрузчика rsl).