Страница 1 из 1

Написание Модели в шаблоне MVP

Добавлено: 03 ноя 2016, 16:51
Arvalon
Доброго дня.
Мне необходимо реализовать архитектуру MVP, бизнесс-данные получаются запросом по сети и возвращением данных, которые я уже преобразовал в классы модели. Но весь запрос написан пока прямо в view, надо его теперь превратить в полноценную модель и дёргать из презентера.
И тут я запнулся, как-то надо по шагам разобраться. Что мне далее необходимо сделать? Как я понял:
1. Создать отдельный класс с методом запроса в сеть;
2. Добавить ссылку на данный класс в поле в презентер (агрегация или композиция);
3. В моей логике приложения (в нужном методе Презентера) вызвать метод класса модели;
4. В зависимости от результата (response или error) - вызвать соответствующий метод модели.

Всё верно, в теории?
И ещё, более верным добавлением ссылки на класс модели в презентере будет использование какого-нибудь реализации Dependency Injection?

Re: Написание Модели в шаблоне MVP

Добавлено: 03 ноя 2016, 20:21
Romeo
Вариантов MVC/MVP такое огромное количество, что говорить о каком-то наиболее стандартном или наиболее правильном варианте просто не умеет смысла. Делай так, как будет наиболее природно и просто именно в твоём проекте. Пускай именно эти параметры будут твоим правильным критерием.

Re: Написание Модели в шаблоне MVP

Добавлено: 03 ноя 2016, 20:26
Arvalon
Romeo писал(а):Вариантов MVC/MVP такое огромное количество
Написано на Java под Android, может это как-то сузит круг вариантов. И мне по первости пытаться реализовать наиболее красивые (и сложные) варианты шаблона как-то не с руки, для начала с базовой концепцией разобраться бы.
Тот вариант что описал выше уже может назваться моделью? :)

Re: Написание Модели в шаблоне MVP

Добавлено: 10 ноя 2016, 16:20
WinMain
Для начала представь, что эту задачу делаешь не ты один, а три разных человека, которые могут находиться в разных городах и ничего не знать друг о друге.
Твоя задача дать каждому из них задание так, чтобы при его выполнении ты легко смог бы из трёх отдельных частей собрать целое работающее решение.
Вот и продумай сначала, как твои отдельные составные части будут между собой взаимодействовать.
Когда ты продумаешь программный интерфейс взаимодействия между этими частями, тогда можешь приступать к из реализации. А ты сейчас делаешь всё наоборот.