10. Архитектурные шаблоны проектирования
.docxК архитектурным шаблонам относятся:
Шаблон MVC
Модель (Model) – бизнес-логика приложения;
Представление (View) – отображение модели.
Контроллер (Controller) – реакция на внешние воздействия, изменение моделей, выбор и передача модели в представление.
Model-view-controller (MVC, «модель-представление-поведение», «модель-представление-контроллер», «модель-вид-контроллер») — схема использования нескольких шаблонов проектирования, с помощью которыхмодель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента таким образом, чтобы модификация одного из компонентов оказывала минимальное воздействие на остальные. Данная схема проектирования часто используется для построенияархитектурного каркаса, когда переходят от теории к реализации в конкретной предметной области.
Шаблон MVP
Модель (Model) – модель предметной области;
Вид (View) – отображение данных.
Presenter – реакция на внешние воздействия, изменение моделей, взаимодействие с Видом.
Model-View-Presenter (MVP) — шаблон проектирования, производный отMVC, который используется в основном для построенияпользовательского интерфейса.
В MVP Presenter берет на себя функциональность посредника (играя роль, аналогичную контроллеру в MVC). Кроме того, Presenter отвечает за управление событиями пользовательского интерфейса (например, mouseDown, keyDown и т.д.), которое обычно было заботой представления. В итоге, модель становится строго моделью предметной области.
Шаблон MVVM
Модель (Model) – модель предметной области;
Представление (View) – отображение данных.
Модель представления (ViewModel) – описывает способ отображения модели на представлении. Представляет собой обёртку над моделью. Используется для двунаправленного связывания.
-
Модель (англ. Model), так же, как в классической MVC, Модель представляет собой фундаментальные данные, необходимые для работы приложения.
-
Представление (англ. View) — это графический интерфейс, то есть окно, кнопки и.т.п. Представление является подписчиком на событие изменения значений свойств или команд, предоставляемых Моделью представления. В случае, если в Модели представления изменилось какое-либо свойство, то она оповещает всех подписчиков об этом, и Представление, в свою очередь, запрашивает обновленное значение свойства из Модели представления. В случае, если пользователь воздействует на какой-либо элемент интерфейса, Представление вызывает соответствующую команду, предоставленную Моделью представления.
-
Модель представления (англ. View Model) является, с одной стороны, абстракцией Представления, а с другой, предоставляет обёртку данных из Модели, которые подлежат связыванию. То есть, она содержит Модель, которая преобразована к Представлению, а также содержит в себе команды, которыми может пользоваться Представление, чтобы влиять на Модель.