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

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

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

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

6 ответов

13 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Карта сайта