Я использую упрощенную инфраструктуру MVVM, которую я создал в PHP с помощью frontend index.php, который маршрутизирует все коммуникации (этот подход отлично работает для меня).
Вопрос, с которым я сталкиваюсь, заключается в следующем: где происходит аутентификация пользователя в среде MVVM? Я реализую это в ViewModel или в другом месте? Я ищу ответ, не зависящий от языка, но даже ответ на конкретный язык подойдет, если концепция будет прояснена.
Благодарю.
Подумайте о ViewModel таким образом, если он должен быть протестирован, скорее всего, он идет в ViewModel. Это не значит, что вы не можете протестировать свои классы Model, но основа тестирования будет для ваших классов ViewModel. При этом у вас действительно есть два варианта. Либо вы можете реализовать логику аутентификации в вашей ViewModel, и если это единственная ViewModel, для которой требуется информация для входа в систему, то я бы предложил это. Однако, если у вас есть несколько ViewModel, которые должны знать, был ли вход успешным или нет, было бы лучше создать статический класс на вашем уровне Model. Таким образом, эта логика аутентификации и информация для входа в систему могут быть переданы любому ViewModel, которому это необходимо.
Других решений пока нет …