Комментарии 5
Спасибо интересное решение, еще можно на decompose посмотреть
Спасибо за статью!? А как быть с ui фичи, виджетом? В примере экран с тремя виджетами. Их реализация где лежит? В модуле экрана или какой-то common модуль со всеми виджетами? А если мне и ui и логику фичи нужно переиспользовать?
В нашем случае мы весь ui оставляем в модуле с родительской фичей (в примере ProfileFragment). Но если виджет переиспользуется, его можно вынести в какой-то базовый модуль, придумать что-нибудь из разряда base-widget. В альфе у нас ui состоит из компонентов дизайн системы, которые хранятся отдельно и подключаются в модуль как либа и во фрагменте мы из них собираем ui. Но это совсем другая история для другой статьи)
Спасибо, хорошая статья. Уточнение на подумать.
Эти интерфейсы фичи с постфиксом Аpi - это куски вьюмодели, в которых аккумулируется логика, значит удобно их представлять в виде делегатов, которые подключаются к основной вьюмодели. Тогда это стали фичаViewModelDelegate и из названия уже понятно что они должны делать. На равне с такими делегатами, могут в апи модуле шариться и фабрики для обычной навигации на фичу, и вьюхи со своими модельками, если это необходимо.
Разделение презентационного слоя фичи на модули в Android приложении