Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
27.11.2024
Размер:
1.37 Mб
Скачать

Общие сведения

Паттерн (англ. pattern — образец, шаблон,

система) — закономерная регулярность,

встречающаяся в природе и в человеческом дизайне, а также повторяющийся шаблон,

образец. Элементы паттерна предсказуемо

повторяются.

В компьютерных науках шаблоны

проектирования являются широко используемым решением большого класса

проблем программирования.

2

Общие сведения

Примеры паттернов в графике

3

Общие сведения

Наиболее типичная реализация паттернов в

программировании отделяет вид от модели, путем установления между ними протокола

взаимодействия, используя аппарат событий

(подписка/оповещение). При каждом изменении внутренних данных в модели, модель

оповещает все зависящие от неё представления, и представление обновляется.

Для этого используется шаблон проектирования

Наблюдатель.

4

Общие сведения

При обработке реакции пользователя, вид

выбирает в зависимости от нужной реакции нужный контроллер, который обеспечит ту или

иную связь с моделью. Для этого используется

шаблон проектирования Стратегия, или вместо этого может быть модификация с

использованием шаблона проектирования

Команда.

5

Общие сведения

А для возможности однотипного обращения с подобъектами сложно-составного

иерархического вида, может использоваться

шаблон проектирования Компоновщик. Кроме того, могут использоваться и другие шаблоны

проектирования, например, фабричный метод, который позволит задать по умолчанию тип

контроллера для соответствующего вида.

6

Общие сведения

Таким образом, схема использования нескольких шаблонов проектирования

разделена на три отдельных компонента, с

помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие

с пользователем выполняют общую задачу. Данная концепция разработана в 1979 году для

языка Smalltalk.

7

Общие сведения

Passive Model (пассивная модель)

Модель не имеет вообще никаких способов воздействовать на Представление или

Контроллер и только используется ими в

качестве источника данных для отображения. Все изменения модели отслеживаются

Контроллером и он же отвечает за перерисовку

Представления, если это необходимо.

8

Общие сведения

Active Model (активная модель)

Модель имеет возможность оповестить Представление о том, что в ней произошли некие изменения, и Представление может эти изменения отобразить. Модель просто бросает сообщение, а Представления, которые заинтересованы в оповещении, подписываются на эти сообщения, что позволяет сохранить независимость Модели как от Контроллера так и от Представления, не нарушая

тем самым основного свойства паттерна.

9

 

MVC

Model-view-controller («модель-вид-

контроллер») — схема использования

нескольких шаблонов проектирования, с помощью которых модель данных приложения,

пользовательский интерфейс и взаимодействие

с пользователем разделены на три отдельных компонента таким образом, чтобы модификация

одного из компонентов оказывала минимальное

воздействие на остальные.

10