2017-02-03 19 views
2

Я начал изучать MVP за последние пару дней, и я нашел это интересным tutorial. Я шаг за шагом выполнил код, чтобы внедрить функции входа в мое приложение. Тем не менее, я все еще испытываю трудности с пониманием того, где должна быть валидация ввода! В учебнике внутри класса LoginInteractorImpl внутри метода входа (2 функции в одном методе!). Мои вопросы: почему мне нужно достичь класса Interactor для проверки учетных данных? Почему не проверка ввода в классе Presenter, и если вход правильный, я передаю его в Interactor?Android MVP: подтверждение учетных данных для входа

ответ

2

presenter является клеем между вашим views и вашим models все, что он делает, обменивается информацией между ними. Он не должен делать какую-либо логику, а только назначенную задачу. Читайте о Seperation of Concerns.

Что произойдет, если вам нужно реализовать другой экран входа в систему, и вы хотите использовать ту же логику из своего LoginInteractor? Вам нужно добавить логику проверки для вашего нового ведущего. Или что, если вы измените технику валидации?

Изменение логики не должно влиять на презентатор и наоборот. Ведущий занимается только передачей информации.

+0

Спасибо! Это все о повторном использовании. –

1

Подтверждение ввода может быть внутри представления или ведущего, но это не идея. Идея заключается в том, чтобы внутри бизнес-логики находилась вся «бизнес-логика», а активность была «более тупой», а ведущая - это связь между этими двумя.