Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

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

Содержание

Стандартные паттерныMVC (Model-View-Controller)MVP (Model-View-Presenter)MVVM (Model-View-ViewModel)Кратко говоря – Model-View-Delegate
Model-View-Presenter Стандартные паттерныMVC (Model-View-Controller)MVP (Model-View-Presenter)MVVM (Model-View-ViewModel)Кратко говоря – Model-View-Delegate ModelМодельки объектов для взаимодействия View и Presenter ViewОтображение данных, полученных от делегатаПередает действия пользователя в делегатУправляется делегатомНе содержит логики MVC MVP MVC MVC vs MVPPresenter управляет View через интерфейс непосредственно, Controller управляет View опосредованно Наша архитектураСлой данных (Repository, кэширование)MVP Наша архитектура Пример экрана с MVP Экран авторизации Экран авторизацииПроверяем текущее состояние авторизацииОшибка при нажатии кнопки, когда поля ввода пустыеИнициация AuthView LoadingView Реализуем интерфейс AuthView в AuthActivity AuthPresenter - поля AuthPresenter - запуск экрана AuthPresenter - обрабатываем нажатие кнопки входа Используем AuthPresenter ВопросыНасколько такая архитектура масштабируема?Можно ли передавать Context в Presenter?Нужно ли делать интерфейс Практика ПрактикаПроект GithubMVPНужно перевести экран walkthrough (описание в WalkthroughActivity) на MVPРеализовать экран списка Дополнительно - библиотека Mosby Зачем нужны библиотекиMVP немного увеличивает кодПриходится писать много стандартного кода для каждого экрана Будьте крайне осторожны!Использование библиотеки для создания архитектуры нарушает первый из принципов Clean БиблиотекиMosbyMoxy Преимущества MosbyСтруктурирование кода и его организация в соответствии с паттерном MVPНе нужно MvpView MvpBasePresenter MvpBasePresenter MvpActivity Практика - 2Проект GithubMosbyНужно перевести экран walkthrough (описание в WalkthroughActivity) на MVP
Слайды презентации

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

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

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

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

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

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

делегат
Управляется делегатом
Не содержит логики


Слайд 7 MVC

MVC     vs     MVP

vs

MVP

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

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

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

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

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

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

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

Наша архитектура

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

Пример экрана с MVP

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

Экран авторизации

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

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

когда поля ввода пустые
Инициация процесса авторизации при выполнении запроса
Показ

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

Слайд 14 AuthView

AuthView

Слайд 15 LoadingView

LoadingView

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

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

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

AuthPresenter - поля

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

AuthPresenter - запуск экрана

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

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

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

Используем AuthPresenter

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

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

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


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

Практика

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

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

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

соответствии с паттерном MVP и описанными сценариями

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

Дополнительно - библиотека Mosby

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

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

стандартного кода для каждого экрана


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

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

первый из принципов Clean Architecture
Библиотека вынуждает вас писать код

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


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

БиблиотекиMosbyMoxy

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

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

с паттерном MVP
Не нужно явно хранить View и Presenter

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


Слайд 29 MvpView

MvpView

Слайд 30 MvpBasePresenter

MvpBasePresenter

Слайд 31 MvpBasePresenter

MvpBasePresenter

Слайд 32 MvpActivity

MvpActivity

  • Имя файла: standartnye-patterny.pptx
  • Количество просмотров: 146
  • Количество скачиваний: 0