Стандартные паттерны презентация

Содержание

Стандартные паттерны MVC (Model-View-Controller) MVP (Model-View-Presenter) MVVM (Model-View-ViewModel) Кратко говоря – Model-View-Delegate

Слайд 1Model-View-Presenter


Слайд 2Стандартные паттерны
MVC (Model-View-Controller)
MVP (Model-View-Presenter)
MVVM (Model-View-ViewModel)
Кратко говоря – Model-View-Delegate


Слайд 3Model
Модельки объектов для взаимодействия View и Presenter


Слайд 4View
Отображение данных, полученных от делегата
Передает действия пользователя в делегат
Управляется делегатом
Не содержит

логики

Слайд 7 MVC

vs MVP

Слайд 8MVC vs MVP
Presenter управляет View через интерфейс непосредственно, Controller управляет View

опосредованно через Model
Controller может управлять несколькими View, а также переключать их, а Presenter управляет только одной View

Слайд 9Наша архитектура
Слой данных (Repository, кэширование)
MVP


Слайд 10Наша архитектура


Слайд 11Пример экрана с MVP


Слайд 12Экран авторизации


Слайд 13Экран авторизации
Проверяем текущее состояние авторизации
Ошибка при нажатии кнопки, когда поля ввода

пустые
Инициация процесса авторизации при выполнении запроса
Показ и скрытие процесса загрузки пользователю
Открытие главного экрана в случае успешной авторизации
Отображение ошибки в поле логина в случае неудачной авторизации

Слайд 14AuthView


Слайд 15LoadingView


Слайд 16Реализуем интерфейс AuthView в AuthActivity


Слайд 17AuthPresenter - поля


Слайд 18AuthPresenter - запуск экрана


Слайд 19AuthPresenter - обрабатываем нажатие кнопки входа


Слайд 20Используем AuthPresenter


Слайд 21Вопросы
Насколько такая архитектура масштабируема?
Можно ли передавать Context в Presenter?
Нужно ли делать

интерфейс или базовый класс для Presenter?

Слайд 22Практика


Слайд 23Практика
Проект GithubMVP
Нужно перевести экран walkthrough (описание в WalkthroughActivity) на MVP
Реализовать экран

списка коммитов (описание в CommitsActivity) в соответствии с паттерном MVP и описанными сценариями

Слайд 24Дополнительно - библиотека Mosby


Слайд 25Зачем нужны библиотеки
MVP немного увеличивает код
Приходится писать много стандартного кода для

каждого экрана


Слайд 26Будьте крайне осторожны!
Использование библиотеки для создания архитектуры нарушает первый из принципов

Clean Architecture
Библиотека вынуждает вас писать код в ее рамках
Нужно хорошо изучить конкретное решение перед его использованием


Слайд 27Библиотеки
Mosby
Moxy


Слайд 28Преимущества Mosby
Структурирование кода и его организация в соответствии с паттерном MVP
Не

нужно явно хранить View и Presenter в виде полей
Автоматическое связывание View и Presenter
LCE-экраны (Loading-Content-Error)


Слайд 29MvpView


Слайд 30MvpBasePresenter


Слайд 31MvpBasePresenter


Слайд 32MvpActivity


Слайд 33Практика - 2
Проект GithubMosby
Нужно перевести экран walkthrough (описание в WalkthroughActivity) на

MVP с использованием библиотеки Mosby
Реализовать экран списка коммитов (описание в CommitsActivity) в соответствии с паттерном MVP и с использованием библиотеки Mosby

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика