Скачать презентацию Паттерны проектирования MVC MVP MVVM Подготовил Кочетков Илья Скачать презентацию Паттерны проектирования MVC MVP MVVM Подготовил Кочетков Илья

Лекция 2. MVC,MVP,MVVM.pptx

  • Количество слайдов: 14

Паттерны проектирования MVC, MVP, MVVM Подготовил Кочетков Илья, Старший разработчик ПО, ДАГС, Диджитал Дизайн Паттерны проектирования MVC, MVP, MVVM Подготовил Кочетков Илья, Старший разработчик ПО, ДАГС, Диджитал Дизайн

Содержание Введение Компоненты View Model Controller View Model Presenter MVC MVP MVVM Что же Содержание Введение Компоненты View Model Controller View Model Presenter MVC MVP MVVM Что же дальше? Заключение

Введение MVC, MVP, MVVM – комплексные паттерны проектирования Играют роль архитектурного каркаса для приложения Введение MVC, MVP, MVVM – комплексные паттерны проектирования Играют роль архитектурного каркаса для приложения Повышают гибкость приложения и читабельность кода Разбивают приложение на самостоятельные слои

Model (Модель) Абстрагирует слой данных Содержит бизнес-логику приложения (опционально) Знает только о самой себе Model (Модель) Абстрагирует слой данных Содержит бизнес-логику приложения (опционально) Знает только о самой себе и не зависит ни от кого Может поддерживать состояния Бывает активной и пассивной

View (Представление) Абстрагирует пользовательский интерфейс Отображает данные приложения Не влияет на модель Может содержать View (Представление) Абстрагирует пользовательский интерфейс Отображает данные приложения Не влияет на модель Может содержать часть бизнес-логики Примеры представлений: HTML-страница WPF-форма Win. Forms

Controller (Контроллер) Обеспечивает взаимодействие между пользователем и системой Преобразует данные модели для вывода в Controller (Контроллер) Обеспечивает взаимодействие между пользователем и системой Преобразует данные модели для вывода в представление Реагирует на события Контролирует вводимые данные

View. Model (Модель представления) Используется в приложениях со data-binding (связывание данных). Абстракция представления Обертка View. Model (Модель представления) Используется в приложениях со data-binding (связывание данных). Абстракция представления Обертка данных из модели, подлежащих связыванию Содержит команды, используемые в представлении

Presenter Аналогичен Controller в десктопных приложениях Отвечает за обработку событий представления (например, key. Down, Presenter Аналогичен Controller в десктопных приложениях Отвечает за обработку событий представления (например, key. Down, mouse. Click) Извлекает данные из хранилища и форматирует для отображения в представлении

MVC Контроллер решает, какое представление отобразить События влияют только на контроллер Один контроллер может MVC Контроллер решает, какое представление отобразить События влияют только на контроллер Один контроллер может работать с многими представлениями Устаревает Пример: ASP. NET MVC

MVP Presenter – абстракция представления Представление и представитель работают друг с другом Один представитель MVP Presenter – абстракция представления Представление и представитель работают друг с другом Один представитель работает только с одним представлением Представитель работает с представлением через заранее описанный интерфейс Представление полностью абстрагировано от бизнес-логики Пример: Windows Forms

MVVM Отличается от MVP спецификой использования модели представления View. Model становится «контекстом» представления Используется MVVM Отличается от MVP спецификой использования модели представления View. Model становится «контекстом» представления Используется для установки «связывания» (binding) Одно представление работает с одним отображением Обновление свойств основано на паттерне INotify. Property. Changed Пример: WPF / Silverlight

Что же дальше? MVC морально устаревает на фоне развития веб-технологий В частности, быстро развиваются Что же дальше? MVC морально устаревает на фоне развития веб-технологий В частности, быстро развиваются Front. End фреймворки (Angular. Js, Backbone. Js, Ember. Js) В следствие чего распространяются решения разделенных веб-приложений

Заключение MVC, MVP, MVVM – «большие» игроки в проектировании Заложенный фундамент используется и развивается Заключение MVC, MVP, MVVM – «большие» игроки в проектировании Заложенный фундамент используется и развивается по сей день Не стоит строго придерживаться аспектов одного шаблона

WPF Первый релиз в 2006 году Компонент. NET Framework (начиная с 3. 0) для WPF Первый релиз в 2006 году Компонент. NET Framework (начиная с 3. 0) для построения GUI-приложений Использует для отображения Direct. X Интерфейс определяется через XAML Идеален для применения MVVM-паттерна