Size: a a a

Android Architecture

2020 June 21

Q

QMan in Android Architecture
В таком виде и приходят, только указываешь какой тип передаешь
источник

Q

QMan in Android Architecture
Flow<OperationResult<MyModel>>
источник

PA

Pavel Aleksandrov in Android Architecture
QMan
В таком виде и приходят, только указываешь какой тип передаешь
немного странно спросил. Я хотел узнать, где эта модель должна получаться? Из сети/БД у нас же могут прийти данные не в таком виде.
источник

Q

QMan in Android Architecture
и можешь тянуть хоть от репы до представления
источник

Q

QMan in Android Architecture
Pavel Aleksandrov
немного странно спросил. Я хотел узнать, где эта модель должна получаться? Из сети/БД у нас же могут прийти данные не в таком виде.
ты же маппишь по дороге
источник

PA

Pavel Aleksandrov in Android Architecture
QMan
ты же маппишь по дороге
во. Именно в этом недопонимание. Типо нужно маппить один Flow на Flow для модели, удобной для представления? И Маппинг этот делать в репозитории?
источник

Q

QMan in Android Architecture
Если это в репе, то указываешь в качестве модели модель бизнеса, а представление получает модель бизнеса и маппит под себя
источник

Q

QMan in Android Architecture
Репа маппит для бизнеса, представление маппит от бизнеса под себя
источник

PA

Pavel Aleksandrov in Android Architecture
Ну то есть, в общем случае будет так: репа получает данные из сети, обрабатывает ошибки и если все хорошо, то заносит в БД, а та уже возвращает OperationResult?
источник

PA

Pavel Aleksandrov in Android Architecture
Тогда получается, что UseCase чисто форвардит данные
источник

Q

QMan in Android Architecture
Pavel Aleksandrov
Ну то есть, в общем случае будет так: репа получает данные из сети, обрабатывает ошибки и если все хорошо, то заносит в БД, а та уже возвращает OperationResult?
да, если всё ок, то репа маппит для бизнеса и эмитит
источник

Q

QMan in Android Architecture
Pavel Aleksandrov
Тогда получается, что UseCase чисто форвардит данные
почему ? Это же не просто коридор, там применяешь свои бизнес-правила к модельке
источник

PA

Pavel Aleksandrov in Android Architecture
QMan
почему ? Это же не просто коридор, там применяешь свои бизнес-правила к модельке
Да, просто я подумал о довольно примитивном примере. Здесь как минимум можно фильтровать данные в необходимом виде
источник

Q

QMan in Android Architecture
в общем это покрывает все мои кейсы и для меня удобно
источник

PA

Pavel Aleksandrov in Android Architecture
А ещё такой вопрос: ошибки из retrofit должны обрабатываться в репозитории или API client'е?
источник

Q

QMan in Android Architecture
OperationError, OperationResult, OperationProgress в бизнес слое
источник

PA

Pavel Aleksandrov in Android Architecture
Чтобы сделать репозиторий максимально чистым и мультиплатформенным
источник

Q

QMan in Android Architecture
Pavel Aleksandrov
А ещё такой вопрос: ошибки из retrofit должны обрабатываться в репозитории или API client'е?
у всех разные подходы: кто в репозитории, кто в датасорс
источник

Q

QMan in Android Architecture
Мне проще в репозитории и я просто отправляю OperationResult.Error(OperationError)
источник

Q

QMan in Android Architecture
Где содержится код ошибки, сообщение и т.д. В общем всё, что ты поместишь в этот data class
источник