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

Есть приложение с прохождением тестов (ответы на вопросы), пытаюсь

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

ПЕРВЫЙ ВОПРОС такой, правильно ли я пониманию что место всей этой логике в интеракторе? А в презентейшен слое мы лишь должны дергать какие-то простые методы - nextQuestion и checkAnswer этого интерактора и в зависимости от этого менять view (подсвечивать неправильные ответы, открывать след. экраны и т.п.).

Пока ничего лучше не придумал чтобы сделать с android databinding, чтобы наружу смотрели ObservableХХХХ поля, на которые подписать view. Так вроде получается лаконичней всего. Во view только вызываем loadNext, а interactor уже в зависимости от всех условия выставит все ObservableХХХХ поля в соответсвии с логикой, который view отобразит при помощи databinding.

И ВТОРОЙ ВОПРОС - нормально ли для передачи сложных данных между экранами использовать DI скоупы, доступные во время всего прохождения теста, даже при смене экранов, чтобы на заморачиваться парселизацией сложных объектов. Просто тут достаточно давно обсуждался EventBus и говорилось что подход плохой, а не тоже самое это по сути если использовать такие Shared объекты доступные на протяжении жизни нескольких экранов?

1 ответов

27 просмотров

Вот тут в шапке в кукбуке про визарды посмотри

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

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

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