Я разработчик Android и работал над всеми этими тремя шаблонами архитектуры в своих приложениях. Также я просмотрел несколько постов на stackoverflow о разнице каждого из них. Мое понимание может быть не на 100% правильным, но это то, что я знаю до сих пор вкратце.
MVC - Пользовательский ввод получен контроллером. Контроллер обновляет модель, а затем сообщает представлению обновить себя.
MVP - Просмотр получает пользовательский ввод и уведомляет докладчика. Presenter получает данные из Model, а затем отправляет их в View. Presenter и View имеют непосредственное отношение.
MVVM - Пользовательский ввод получен View. ViewModel генерирует данные из Model и выдает поток данных, который любой подписанный View может использовать эти данные. View и ViewModel имеют отношение один ко многим.
Проблема в том, что во время интервью мне часто задавали вопрос о том, какой шаблон использовать, когда. Я думаю, что интервьюер хочет знать тип приложения (например, банковское дело, электронная коммерция и т. Д.) И соответствующий им шаблон архитектуры. Или, по крайней мере, какое-то конкретное объяснение того, почему я хотел бы использовать MCV в одном приложении и MVP в другом и так же для MVVM.
Я хорошо провел свое исследование, но не смог найти в Интернете правильного ответа, в котором бы описывался вариант использования каждого шаблона. Таким образом, просьба сообщить мне пример использования каждого.