Arello-Mobile / Moxy

Moxy is MVP library for Android
https://github.com/Arello-Mobile/Moxy/wiki
MIT License
1.6k stars 207 forks source link

Возвращаемые типы в интерфейсе #262

Closed ReCursia closed 3 years ago

ReCursia commented 5 years ago

Почему я не могу использовать возвращаемые типы в методах при создании интерфейса?Возьмем к примеру, простой пример, есть у нас есть окно авторизации (ввод логина и пароля и кнопка ВОЙТИ), вот пользователь ввёл данные, жмем кнопку ВОЙТИ, вызываю метод презентера, который в свою очередь действует по следующей логике: пользователь нажал на кнопку (метод например, loginButtonPressed()) и Presenter такой: ага, меня оповестили о том, что пользователь хочет войти, давайте попросим у View логин и пароль (аля String getLoginEditText, String getPasswordEditText и проверим корректность данных...). Есть другое решение, которое сработает, это вызвать какой-нибудь метод у Presenter аля void signIn(String login,String password) и передать туда текст из EditText, но не получается ли в таком случае, что у нас во View просачивается логика? Или например, у меня есть Switch, как мне отследить, какое у него значение в Presenter (аля getSwitchValue)?

fAntel commented 5 years ago

Уже был ответ на это в #132 . К презентеру может быть подключено любое количество вью и нет универсальной логики, которая подошла бы всем, от какого вью должно возвращаться значение при запросе из презентера. На вопрос "не просачивается ли логика во вью?" ответ простой. Если сделать иначе, то UI просачивается в перезнтера, чего тоже быть не должно. А логики во вью для передачи данных в презентер не больше, чем для отображения данных полученных из перезентера.