Я начал изучать MVP за последние пару дней, и я нашел это интересным tutorial. Я шаг за шагом выполнил код, чтобы внедрить функции входа в мое приложение. Тем не менее, я все еще испытываю трудности с пониманием того, где должна быть валидация ввода! В учебнике внутри класса LoginInteractorImpl
внутри метода входа (2 функции в одном методе!). Мои вопросы: почему мне нужно достичь класса Interactor для проверки учетных данных? Почему не проверка ввода в классе Presenter
, и если вход правильный, я передаю его в Interactor?Android MVP: подтверждение учетных данных для входа
ответ
presenter
является клеем между вашим views
и вашим models
все, что он делает, обменивается информацией между ними. Он не должен делать какую-либо логику, а только назначенную задачу. Читайте о Seperation of Concerns.
Что произойдет, если вам нужно реализовать другой экран входа в систему, и вы хотите использовать ту же логику из своего LoginInteractor
? Вам нужно добавить логику проверки для вашего нового ведущего. Или что, если вы измените технику валидации?
Изменение логики не должно влиять на презентатор и наоборот. Ведущий занимается только передачей информации.
Подтверждение ввода может быть внутри представления или ведущего, но это не идея. Идея заключается в том, чтобы внутри бизнес-логики находилась вся «бизнес-логика», а активность была «более тупой», а ведущая - это связь между этими двумя.
Спасибо! Это все о повторном использовании. –