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 ответов

11 просмотров

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта