пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


Поведенческие шаблоны. Определение, применение, примеры.

Паттерны поведения рассматривают вопросы о связях между объектами и распределением обязанностей между ними. Для этого могут использоваться механизмы, основанные как на наследовании, так и на композиции.

К паттернам поведения относятся:

1)Интерпретатор. Для заданного языка определяет представление его грамматики, а также интерпретатор предложений этого языка.

2) Шаблонный метод. Шаблонный метод определяет основу алгоритма и позволяет подклассам переопределить некоторые шаги алгоритма, не изменяя его структуру в целом.

58_1.png

3)Итератор. Предоставляет способ последовательного доступа ко всем элементам составного объекта, не раскрывая его внутреннего представления.

58_2.png

4)      Команда. Инкапсулирует запрос как объект, позволяя тем самым задавать параметры клиентов для обработки соответствующих запросов, ставить запросы в очередь или протоколировать их, а также поддерживать отмену операций.

58_3.png

Достоинства: Придает системе гибкость, отделяя инициатора запроса от его получателя.

5)Наблюдатель. Определяет зависимость типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом и автоматически обновляются.

6) Посетитель. Описывает операцию, выполняемую с каждым объектом из некоторой структуры. Паттерн посетитель позволяет определить новую операцию, не изменяя классы этих объектов.

7) Посредник. Определяет объект, инкапсулирующий способ взаимодействия множеств объектов. Посредник обеспечивает слабую связанность системы, избавляя объекты от необходимости явно ссылаться друг на друга и, позволяя тем самым, независимо изменять взаимодействия между ними.

 

58_4.png

8)Состояние. Позволяет объекту варьировать свое поведение в зависимости от внутреннего состояния. Извне создается впечатление, что изменился класс объекта.

9)Стратегия. Определяет семейство алгоритмов, инкапсулирует каждый из них и делает их взаимозаменяемыми. Стратегия позволяет изменять алгоритмы независимо от клиентов, которые ими пользуются.

58_5.png

 

Достоинства паттерна Strategy:

· Систему проще поддерживать и модифицировать, так как семейство алгоритмов перенесено в отдельную иерархию классов.

·предоставляет возможность замены одного алгоритма другим в процессе выполнения программы.

·позволяет скрыть детали реализации алгоритмов от клиента.

Недостатки паттерна Strategy:

·Для правильной настройки системы пользователь должен знать об особенностях всех алгоритмов.

·Число классов в системе возрастает.

10)    Хранитель. Не нарушая инкапсуляции, фиксирует и выносит за пределы объекта его внутреннее состояние так, чтобы позднее можно было восстановить в нем объект.

11)Цепочка обязанностей. Позволяет избежать привязки отправителя запроса к его получателю, давая шанс обработать запрос нескольким объектам. Связывает объекты-получатели в цепочку и передает запрос вдоль этой цепочки, пока его не обработают.

 

 

 

 


30.01.2019; 13:39
хиты: 448
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь