Как реализовать модель в MVP? Правильно ли я понимаю данный шаблон проектирования?

Собственно по началу всё понятно - мы имеем 3 части - model, present, view, но по реализации каждого из них в андроид студии у меня имеются вопросы.

На сколько я понял из прочитанного ранее
  1. Все layout'ы заменяются фрагментами, таким образом мы имеем лишь 1 layout с 1 элементом - FrameLayout (это самое необычное для меня, понимаю логически, но все равно кажется, что что-то тут не так)
  2. View
    • MainActivity класс с методом замены фрагмента
    • Класс для каждого фрагмента с начальными установками типа onClickListner'ов в onCreate'e и методами типа makeToast

  3. Present
    • На каждый фрагмент по present'у
    • Могут ли в этой части быть дополнительные классы? Например класс, отвечающий за работу с пользовательскими данными?

  4. Model
    • Я немного не понимаю как его реализовать так, что бы данные были доступны во всех present'ах? Возможно я неправильно понимаю то, как эта часть должна быть реализована и модель не должна ничего хранить в себе, а лишь получать данные из других мест (SharedPreferences, SQLite и т.д.)? В таком случае в каждом презенте надо просто создавать новую модель?

  • Вопрос задан
  • 988 просмотров
Решения вопроса 1
VGrabko
@VGrabko
Golang, Php, Js
Всё верно. Present может обратится к другому классу запросто но лучше так не делать. По сути Present аналог контроллера в MVC только с доп. абстракциями
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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