Я реализовал шаблон хранилища, который загружает данные из списка источников, которые все реализуют один и тот же Интерфейс.
class source1 : Source { downloadData() }
class source2 : Source { downloadData() }
в хранилище :
fun getData(sources: List<Source>){ sources.foreach{ bla bla bla} }
dynamic module 1 contains all the code that handles source 1
dynamic module 2 contains all the code that handles source 2
Поскольку модули Dynami c не видны для основного модуля, я знаю только, установлены ли они. Как я могу построить список источников, когда модули установлены?