214 похожих чатов

Отвечая на первый вопрос > - Используется паттерн MVP. На сколько

хорошо или плохо хранить Presenter/Interactor/Repository в рамках одного Scope?

Обычно Interactor и, особенно Repository предполагают переиспользование. Поэтому их лучше хранить в каком-то более долгоживущем скопе.

6 ответов

4 просмотра

Иногда у Repository нужно хранить состояние, которое будет различно на разных экранах (например, пагинация). Аналогично Interactor и Presenter иногда могут иметь состояния, различные на разных экранах. В таком случае на сколько правильно на каждый из экранов создавать свой скоуп, который будет переживать смену конфигурации? Думал изначально сделать именно так, но прочитал статью Мацюка, где сказано про три уровня скоупа (глобальный, фичи и экрана (без переживания смены кофнфигурации)), поэтому решил обратиться к чатику

Pavel- Автор вопроса
Vitaly Peryatin
Иногда у Repository нужно хранить состояние, котор...

Обычно не очень хорошо хранить состояние в интеракторе или, тем более, репозитории. Могут быть интеракторы, через которые шарятся данные между фрагментами. Тогда он живёт в скопе активити. Но это особый случай, когда интерактор строго привязан к одному какому-то user flow. Состояние той же пагинации лучше хранить в презентере. Если использовать какие-нить lifecycle friendly библиотеки типа moxy, то там презентер переживает перевороты экрана и состояние не пропадает.

Pavel
Обычно не очень хорошо хранить состояние в интерак...

а чем плохо хранить состояние в репозитории?

Pavel- Автор вопроса
Zlatko Pušić
а чем плохо хранить состояние в репозитории?

Если репозиторий шарится между разными фичами, то это может привести к неприятным последствиям. Состояние надо как-то занулять, актуализировать. Либо при каждом использовании нужно создавать свой инстанс репозитория.

Pavel
Если репозиторий шарится между разными фичами, то ...

наверное, мы с вами про разные состояния говорим)

Pavel
Если репозиторий шарится между разными фичами, то ...

Так если у каждого экрана свой Scope как раз для того, чтобы корректно хранились состояния - все норм должно быть

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
75
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
@rouse_79 а ты не знаешь простого способа определить что приложение запущено из под среды delphi?
Михаил
14
Обязательно ли смена методологии обучения алфавиту при смене алфавита(реформе письменности) - нет. А при смене глиненых табличек на попирус, нужно ли менять методологию обучен...
Spiker01
8
Я тут пытаюсь переработать архитектуру подсистемы памяти ядра во что-то осмысленное. Есть pmm, который создает набор range’ей(пока что только для ядра, потом для юзерспейса), ...
Evg Resh
19
а китайский фольц такой же как немецкий? а то я вижу китайские черри через год эксплуатации -- ну эээ оно такое...
Vyacheslav Olkhovchenkov
13
Карта сайта