Size: a a a

Android Architecture

2020 February 29

KD

Konstantin Dovnar in Android Architecture
Aleksey D.
с большой вероятностью придется вносить изменения и туда, и туда, потому что в тонких клиентах достаточно плотно всё связано

если domain строится на отбрасывании полей data-слоя, то, допустим, проканает, но если же нужно что-то добавлять, то изменения затронут все модели. радует, конечно, что компилятор скажет, что ты что-то забыл (если, конечно, конструктор без параметров по умолчанию используется), в остальном - баги во время исполнения
Это вечная дилемма, что хуже -- падения или неявные баги. И верного ответа тут нет.

Так или иначе, старые модельки оставят и старое проведение, которое уже было корректным.
источник

М

Михаил in Android Architecture
Aleksey D.
с большой вероятностью придется вносить изменения и туда, и туда, потому что в тонких клиентах достаточно плотно всё связано

если domain строится на отбрасывании полей data-слоя, то, допустим, проканает, но если же нужно что-то добавлять, то изменения затронут все модели. радует, конечно, что компилятор скажет, что ты что-то забыл (если, конечно, конструктор без параметров по умолчанию используется), в остальном - баги во время исполнения
Тут и приходится выбирать либо полпроекта переписывать если логика апи изменилась, либо если добавилось поле то добавить его в пару классов
источник

М

Михаил in Android Architecture
Плюс без собствнных доменных классов все задачи на старте проекта лочатся разработкой бэкенда, да и не только на старте, а на любой фиче для которой нужна поддержка со стороны бэкенда. Да если пишешь на уже стабильное апи приложение, тогда можно и не плодить свои модели для бизнес логики, но часто ли такой кейс)
источник

A

Alex in Android Architecture
Вопрос по чистой архитектуре: Во всех статьях из слоя Data в слой Domain через репозиторий данные возвращаются с помощью RxJava. Если на проекте не использовать RxJava, а использовать корутины, то в каком виде данные должны перетекать данные из дата слоя в доменный?
источник

MI

Mukhamed Issa in Android Architecture
Имхо, это не зависит от технологий, которая используется :)
источник

М

Михаил in Android Architecture
Alex
Вопрос по чистой архитектуре: Во всех статьях из слоя Data в слой Domain через репозиторий данные возвращаются с помощью RxJava. Если на проекте не использовать RxJava, а использовать корутины, то в каком виде данные должны перетекать данные из дата слоя в доменный?
А какая разница suspend fun getDomainObject(): DomainObject или fun getDomainObject(): Single<DomainObject> :)
источник

KD

Konstantin Dovnar in Android Architecture
Михаил
А какая разница suspend fun getDomainObject(): DomainObject или fun getDomainObject(): Single<DomainObject> :)
Если возращается Single, то скорее правильным будет возвращать Deffered.
источник

М

Михаил in Android Architecture
Konstantin Dovnar
Если возращается Single, то скорее правильным будет возвращать Deffered.
Почему?
источник

K

Kopusha in Android Architecture
если там уже есть suspend, то конечно же правильным будет возвращать сам объект, а не Deffered.
источник

М

Михаил in Android Architecture
В деферед всегда завернуть успеешь. А вот развернуть)
источник

MA

Morgan AD in Android Architecture
Всем привет, скиньте пожалуйста годный гайд по mvvm, а то никак не пойму как его реализовывать, изучил room, vm, livedata, но саму концепцию так и не понял
источник

K

Kopusha in Android Architecture
так все, VM + LiveData. Ты и не заметил как перешёл). Если хочется пострелять себе в ноги, то еще Databindings и будет совсем трушный MVVM
источник

C

Chernikov in Android Architecture
Kopusha
так все, VM + LiveData. Ты и не заметил как перешёл). Если хочется пострелять себе в ноги, то еще Databindings и будет совсем трушный MVVM
А чем это плохо?
источник

MA

Morgan AD in Android Architecture
Kopusha
так все, VM + LiveData. Ты и не заметил как перешёл). Если хочется пострелять себе в ноги, то еще Databindings и будет совсем трушный MVVM
так что, смысл mvvm в использовании этих компонентов?(vm, livedata, room, binging)
источник

K

Kopusha in Android Architecture
смысл в том, что ты выкинул интерфейс View из Presenter
источник

KD

Konstantin Dovnar in Android Architecture
Михаил
Почему?
Потому что Single ожидает подписки, чтобы отдать значение. Чисто логически Deffered подходит больше.
Но, разумеется, нужен просто suspend
источник

K

Kopusha in Android Architecture
ну и в идеале там сверху реактивное связывание данных, с которым на андроиде так себе
источник

MA

Morgan AD in Android Architecture
Kopusha
ну и в идеале там сверху реактивное связывание данных, с которым на андроиде так себе
хм, понятно, спасибо, погнал я вкуривать binding
источник

K

Kopusha in Android Architecture
я бы не разгонялся, но это имхо..
источник

М

Михаил in Android Architecture
Konstantin Dovnar
Потому что Single ожидает подписки, чтобы отдать значение. Чисто логически Deffered подходит больше.
Но, разумеется, нужен просто suspend
Завернуть в coroutineScope и все. И оставить решение о async на уровень выше
источник