Pull to refresh
19
0
Send message
Тут все от реализуемого use case зависит, в любом случае если у Аctivity вызвался onStop, то её состояние лучше сохранить и в onStart восстановить, а как мы будем его восстанавливать: делать запрос к серверу или локальной БД решить должен Interactor
1. Presenter создаётся в onActivityCreated во фрагменте, так как в этот момент уже произошло onCreateView и мы можем работать с визуальными контролами
2. В onStart Presenter уже создан и View готова, можно например уже запустить первичную загрузку данных, в onStop фрагмент уже не виден пользователю, поэтому можно освободить ресурсы
По сути да, это Архитектура Дядюшки Боба с Router, но для мобилок он очень даже необходим. Просто в последнее время в iOS говорят об VIPER, а в Android про clean architecture пора было уже прояснить ситуацию и понять, что мир мобилок движется в одном направлении)
У Presentor есть соответсвующие методы, в данном случае onStart, onStop достаточно, но можно расширить.
Очень приятно, что статья оказалась полезной :) про реализацию VIPER в Android действительно очень мало материала, но если внимательней посмотреть, например, на android clean architecture, то можно увидеть что, там реализуется этот паттерн, правда Router называется Navigator :)

А полезные ссылки были набросаны по ходу статьи) Но наверно вы правы лучше вынести в отдельный блок, спасибо.
Router и так находится в Presenter, просто в данном конкретном случае Router осуществляет навигацию между фрагментами в Activity, соответственно ему необходимо знать об Activity для добавления фрагментов в back stack, поэтому для удобства интерфейс Roter имплементит MainActivity, но конечно это может быть и отдельный класс, у нас во многих проектах — это, как раз, отдельный класс.
MVVM — это вырожденная форма MVP, где VM несколько интерактивней работает с View нежели Presenter, поэтому если для какой-то View необходима большая отзывчивость, например форма с валидацией полей, то Presenter можно заменить View Model, VIPER же, это несколько более широкое понятие, где помимо MVP есть Interactor и Router.

Information

Rating
Does not participate
Registered
Activity