Size: a a a

Android Architecture

2020 October 05

М

Максим in Android Architecture
Unat
И там не стейт в главном потоке, а обновления стейта. Зачем эти расчёты класть в главный поток я не знаю.
тогда имеет смысл, если изменение модели это затратная операция..
источник

U

Unat in Android Architecture
Сообщений может быть много, контроллеров состояния несколько
источник

ML

Mikhail Levchenko in Android Architecture
Ребят, привет, покидайтесь в меня своими любимыми sample репозиториями с норм архитектурой
источник

М

Максим in Android Architecture
Unat
Сообщений может быть много, контроллеров состояния несколько
понятно, опять же для ситуаций когда изменить что-то в модели это сложная операция
источник

М

Максим in Android Architecture
Vitaly Peryatin
Понял
Но в коде выше я не увидел асинхронную модель
вот по этому и возник вопрос, уж больно сложная штука получается😀
источник

М

Максим in Android Architecture
добавил зацикливание в пример, что ещё добавить? какие то юзкейсы или что-то непонятное
источник

AI

Arkadii Ivanov in Android Architecture
Максим
добавил зацикливание в пример, что ещё добавить? какие то юзкейсы или что-то непонятное
Я правильно понимаю, речь про обработку намерений в фоне?
источник

М

Максим in Android Architecture
Arkadii Ivanov
Я правильно понимаю, речь про обработку намерений в фоне?
речь вообще про всё что касается МВI
источник

М

Максим in Android Architecture
обработка намерений только что добавлена
источник

М

Максим in Android Architecture
интенты  как бы не нужно обрабатывать в фоне, интенты обрабатывают модель, делают новую модель
источник

М

Максим in Android Architecture
как выяснилось сегодня, единственный кейс для изменения модели в фоне - это если вычисление может тормозить поток
источник

М

Максим in Android Architecture
если что подкидывай идеи))
источник

М

Максим in Android Architecture
сейчас как придумаем новый MVI😂
источник

EM

Eugene Matsyuk in Android Architecture
Несколько часов назад стартанул новый сезон Podlodka Android Crew! Но все еще в ваших руках – ведь утренний воркшоп по TDD вы сможете посмотреть в записи, а а вечером в онлайне – максимально горячую и прикладную сессию про построение личного бренда с 🤩Денисом Неклюдовым, 🎩Барухом Садогурским и 🎙Кириллом Розовым. А впереди – еще две недели холиваров в Slack, ежедневных хардкорных и софтовых сессий и получения новых знаний!
Покупайте билет и погнали!
источник

AD

Aleksey D. in Android Architecture
Habanero Red
Имхо, неправильно явно показывать уровню бизнес-логики существование сети и БД отдельно
источник

P

Pavel in Android Architecture
Я думаю, репозитории нужно оставлять как можно чище и тоньше. Их задача - выгрести данные и сконвертить модель.
А уже уровнем выше решать что делать с этими данными. Когда грузить из сети, когда из базы, когда скидывать в базу, когда чистить базу и т.д.
источник

VP

Vitaly Peryatin in Android Architecture
Pavel
Я думаю, репозитории нужно оставлять как можно чище и тоньше. Их задача - выгрести данные и сконвертить модель.
А уже уровнем выше решать что делать с этими данными. Когда грузить из сети, когда из базы, когда скидывать в базу, когда чистить базу и т.д.
Это не бизнес-логика вроде в большинстве случаев

А задача репозитория как раз разобраться с тем как доставать данные, откуда и как эти данные отдать интерактору

Другими словами Interactor не должен знать откуда эти данные получены и есть ли там какой-то кеш
источник

HR

Habanero Red in Android Architecture
Или на уровне ниже, смотря откуда считать)) Но domain (business-logic) слой точно не должен знать разницу между REST, SQL, Realm, Files etc, чаще всего. Если вы пишете SQL-клиент, то должен, конечно))
источник

P

Pavel in Android Architecture
Хорошо, если данные нужно только читать. А если писать в базу и обновлять на бэке, мониторить изменения базы, синхронизировать с бэком, обрабатывать ошибки, формировать очередь обновления и т.д., то это уже не задача репозитория, а скорее бизнес-логики. Это может быть самый низкий уровень бизнес-логики, но уже точно не репозиторий.
источник

AD

Aleksey D. in Android Architecture
Vitaly Peryatin
Это не бизнес-логика вроде в большинстве случаев

А задача репозитория как раз разобраться с тем как доставать данные, откуда и как эти данные отдать интерактору

Другими словами Interactor не должен знать откуда эти данные получены и есть ли там какой-то кеш
тут ни слова о том, что он должен прятать способ хранения данных
https://martinfowler.com/eaaCatalog/repository.html

details of the database access code != источник
источник