Сопоставление Middle MVC, MVP, MVVM, MVI, VIPER обновлено
Кто за что отвечает в паттернах
Вопрос
Сопоставьте компонент и его ответственность.
Попробуйте сами
Нажмите слева, потом подходящее справа.
Показать ответ и разбор
Коротко
Паттерны отличаются направлением связей и тем, где живёт логика. Важно уметь объяснить, почему компонент не должен знать о соседях.
Правильные пары
Presenter в MVPПолучает события и командует view через интерфейс
ViewModel в MVVMПубликует состояние и принимает действия, не зная о view
Reducer в MVIИз состояния и намерения получает новое состояние
Interactor в VIPERБизнес-логика модуля и работа с сервисами
Router в VIPERСборка модуля и переходы между экранами
Разбор
Паттерны отличаются направлением связей и тем, где живёт логика. Важно уметь объяснить, почему компонент не должен знать о соседях.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Почему MVC в iOS называют Massive View Controller
Следующий вопрос
Однонаправленный поток данных в MVI