Всегда ли нужно следовать MVVM в Android?

Насколько я знаю, MVVM нужен для того, чтобы обрабатывать поворот экрана когда в это время происходит взаимодействие с источником данных(DB,API,...). Если я ошибаюсь, поправьте. Нужно ли тогда его реализовывать, когда поворот, собственно, отключен? Если нет, тогда нужно просто отделить логику View Presentation Model? А если логика слишком простая, то достаточно ли MVC? Хотелось бы внести ясность всё-таки в этот вопрос, потому что иногда кажется, что использование какого-либо паттерна/отделение логики не требуется.


Ответы (2 шт):

Автор решения: Olmicron

MVVM, MVC и т.п. - это шаблоны проектирования архитектуры приложения. Всё это никак не связано с "обработкой поворота экрана". Если проще - это для более правильно и удобной работы с кодом (особенно в команде). И архитектура никак не влияет на взаимодействие пользователя с программой, этим всем занимаетесь непосредственно вы сами, в коде.

Всегда ли нужно следовать MVVM ? Нет. Можете следовать любой другой архитектуре, или не следовать вообще никакой и делать всё как вам удобно.

→ Ссылка
Автор решения: Tony

Как правильно сказал @Olmicron MVC,MVP,MVVM - это шаблоны проектирования. Шаблоны проектирования — это один из инструментов разработчика, который помогает ему сэкономить время и сделать более качественное решение. Они очень повышаю читабельность кода и помогают во многих вещах - например при тестировании.

Мне хотелось бы дать более четкое практическое понимание для чего нужно использовать паттерны.

Возьмем в пример разработчика который пишет код без архитектуры. Все классы в одном пакете. Никакого разделения. Все библиотеки которые знает и пишет код как попало. Такой проект в дальнейшем другому разработчику поддерживать будет практически невозможно. Да чего таить,и этот разработчик в том числе не сможет "эффективно" его поддерживать.

И возьмем противоположный пример разработчика,который использует опреденные шаблоны проектирования, которые очень сильно упрощают всем жизнь. Все классы по пакетам. Есть определенная логика и строгость. Определенные библиотеки. Всё это в совокупности сделает код более читаемым и более поддерживаемым для всех.

→ Ссылка