Что нужно знать про MVVM во Flutter во Flutter/Dart?
Что хотят услышать интервьюеры:
Коротко: MVVM отделяет View от ViewModel, где ViewModel готовит state и команды для UI.
Ответ:
Где применяется:
- ViewModel не должна знать Widget
- state должен быть наблюдаемым
- хорошо сочетается с Provider/Riverpod
Пример:
class LoginViewModel extends ChangeNotifier {
Future<void> submit() async {
/* validate + call use case */
}
} Как отвечать на собеседовании: объясните назначение, границы применения и почему это лучше альтернативы в конкретном сценарии. Типичная ошибка: класть навигацию и BuildContext в ViewModel без абстракции.