#android
#Android
Вопрос:
Я много искал об этом, но ничего об этом не нашел. Предположим, я хочу аутентифицировать пользователя, отправив имя пользователя и пароль на сервер. На каком уровне я должен выполнять соответствующие сетевые вызовы и почему? Должно ли это быть сделано на уровне представления или на уровне модели?
Комментарии:
1. IMO это должно быть на уровне модели, в то время как проверка должна выполняться на Presenter.
2. Предположим, я использую volley для выполнения сетевого вызова, куда идет код для него? должен ли я создавать функцию внутри класса модели или на уровне представления?
3. Ваш фреймворк Volley уже является вашей моделью. Вы просто собираетесь вызвать его в своем presenter и выполнить его аргументы с помощью ваших проверенных входных данных.
4. Так будет ли правильно в соответствии с политикой MVP, если я выполняю свои сетевые вызовы с уровня presenter и извлекаю данные (в моем случае JSON) и сохраняю их, используя интерфейс, предоставленный на уровне модели?
Ответ №1:
Логика входа в систему — это ответственность за модель, она используется для настройки состояния модели. После входа в систему у вас, вероятно, будет авторизованный пользователь со связанной моделью, которую вы будете использовать на более низких уровнях для представления представлений.
Комментарии:
1. Хорошо, я понял! У меня есть еще одно сомнение, следующим шагом будет извлечение данных из сети, добавление, а затем извлечение сведений для каждого элемента. Как насчет создания класса вместе со всеми классами модели, который помогает извлекать данные из сети
2. @GurleenSethi: определенно было бы разумно инкапсулировать общую логику для доступа к удаленному хранилищу данных.