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

Ребята, всем доброго времени суток. Пишу приложение с МВП. Есть

ряд вопросов и я буду безумно благодарен если на них кто-то даст ответ. С МВП знаком уже месяцев 7. Но всегда лень было применять, и лень было подчищать вопросы. Но вот настал тот час, итак:
1) View это просто интерфейс, который должен быть реализован Активити, Фрагментом, или другим классом, чтобы тот стал вью, верно?
2) Модель - это один класс, который реализует все методы доступа к данным, или это множество классов, с сгруппированными методами под свои задачи? К примеру: есть экран друзей, нам надо делать запрос чтобы получить массив объектов типа друг. Этот запрос должен реализоваться в том же классе, где и все остальные запросы приложения, или лучше создать отдельный класс, который реализует интерфейс с методами конкретно касательно экрана друзей? Какой подход лучше?
3) Модель это слой, или формат данных? Часто слышу как на pojo говорят "модель".
4) Надо ли писать отдельный java interface для презентера? Видел код, где у нас есть интерфейс презентера для вью, и интерфейс презентера для модели. Их делят на два интерфейса, таким образом, у нас вью вызывает свои методы для презентера, а модель свои.
5) Насколько мне известно, Вью держит объект презентера, чтобы отправлять взаимодействовать с ним, Модель тоже держит объект презентера(в том случае, если модель это не один класс, а множество) и также с ним взаимодействует, презентер держит объект и на вью, и на модель. Вопрос: ссылку надо держать именно на объект, который реализует интерфейс, или сам интерфейс? MainPresenter implements MainViewContract, MainModelContract. MainActivity implements MainView. MainModel implements MainModelContract. Мне держать MainPresenter или MainViewContract/MainModelContract? MainActivity или MainView? MainModel или MainModelContract?
6) Последний вопрос, но самый жесткий для меня... я прочитал, что концепция МВП подразумевает максимальное разделение между слоями, а значит, они и создаваться должны независимо друг от друга. То-есть одновременно должны быть инициализированы все три слоя. Как это реализовать, если в андроиде активити создается автоматически системой, у нас нет возможности создать одновременно с ним и в то же время не в нем слой презентера и модели? Была идея создать Активити-Рутер. Класс, который будет создаваться первым в приложении(Activity intent-filter category Launcher) и инициализировать презентер и модель одновременно с вью. НО там все равно куча подводных камней, и я бы хотел мнение более опытных людей. СПасибо за внимание всем кто дочитал и не подумайте, пожалуйста, что мне было лень гуглить, я смотрел код на гитхабе, читал статьи на хабре, спрашивал у других людей, но нигде нет никакого однозначного ответа на мои вопросы.

1 ответов

8 просмотров

5) модель может описать коллбэк, а презентер - его реализовать и передать в модель для получения данных асинхронно. Но вообще - модель не знает о презентере, в презентер внедрена та или иная модель(и)

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
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
Карта сайта