Comments 7
Не имеет отношения к хабу Хабр.
не получилось создать в имеющейся репе отдельную ветку.
по итогу залил к себе(((
пример того как на текущем проекте используем навигацию для фича модулей
https://github.com/ButovAndersen/NavigationSimpl
Как считаю я? Это бессмысленно. Таким образом каждая фича будет иметь api зависимость модуля навигации, а модуль навигации в лучшем случае будет иметь api зависимость каждой фичи. (Получается неконтролируемый, чрезмерный, всегда максимальный набор вариантов для навигации, в котором может не быть смысла)
Почему бы не использовать правильный подход, и просто не добавить api зависимость модуля в который необходимо навигироваться сразу? SOLID ни в коем случае не нарушается, т.к. интеграция API зависимостей разрешена и в API, и в любой из реализаций.
А навигация в Android давно перешла к механизму, в котором создаётся какой-то launcher (неважно, этого ли приложения/чужого/системного), и попросту вызывается в нужный момент.
Насчет зависимости фичей от api навигации не очень понял почему это плохо. Мы получаем возможность поставлять фиче любую реализацию навигации без необходимости дополнительных работ, и из каждого фича-модуля удаляется зависимость на какую-то конкретную реализацию навигации.
То что модуль реализации навигации имеет доступ к модулям фичей, вроде бы, достаточно логично, какие здесь еще могут быть варианты?
И каждая фича у нас не имеет доступа ко всей навигации, только к той части, которая относится к этой фиче.
Тема не раскрыта. Нет примеров с навигацией внутри фич, вложенностью экранов, навигацией на уровне приложения, а не только на уровне фичи и прочее
«Внешняя» навигация в многомодульном проекте на Kotlin