слоями приложения, интересует Достоинства и Недостатки данного подхода именно в Android разработке.
Обычно использую 4 модуля в приложении:
1. app
2. common
3. domain
4. data
Хочу между app и domain иметь различные объекты, но возникает вопрос.. как быть с LiveData, если я возвращаю LiveData с Room запроса, как её промапить?
Что значит промапить? Можно же сделать в домейне маперы и заюзать в репозитории.
Если я не прав - просьба поправить. Подумываю структуру приложения, выделил для себя необходимость наличия трёх уровней - app, domain и repository. Хочу, чтобы между ними было как можно меньше зависимостей. Поэтому хочу, сделать DTO для каждой сущности и передавать только так между слоями. Правильно? Архитектура приложения-MVVM.
А что мешает мапить их сразу? Вопрос теперь где мапить. Я бы сделал разные юзкейсы которые бы выдавали разные дто. И сделать в домейне набор маперов для разных дто.
Мне вообще кажется, что вся работа с мапингом это дело вкуса
Я думаю вопрос был в том что для данных которые хранятся например в room рекомендуется создавать отдельные классы, допустим UserEntity и сохранять его. Вот только в приложении используется просто User, и если запрашивать данные из рума с использованием LiveData то вернутся нам UserEntity а не User. Собственно его вопрос был где это маппить. Прим, с моей точки зрения работа с room должна идти через репозиторий а маппинг должен быть в классе UserSource, и возвращать liveData надо из репозитория а не из room
Ну понятно, что сразу лайвдату с рума тянуть не надо, нужно смапить еще. Что за юзер сорс? Набор маперов?
UserSource это из паттерна репозитория
Обсуждают сегодня