Decorator        Особенности
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

n Соответствие интерфейсов декоратора и декорируемого объекта

n Возможное отсутствие абстрактного класса декоратора

n Облегчение, по возможности,
 декорируемого класса

n Изменяется «облик»,
а не внутренне
устройство объекта

 




Вопрос 99 Структурные паттерны проектирования. Паттерн «заместитель» (Proxy). 31-35 Лекция Введение в паттерны проектирования.

Proxy

n Название и классификация
Заместитель – паттерн, структурирующий объекты

n Назначение
Является суррогатом  другого объекта и контролирует доступ  к нему

n Известен также под именем
Surrogate

 




Proxy

n Мотивация

n Применимость
Заместитель применим во всех случаях, когда возникает необходимость сослаться на объект более изощренно, чем это возможно, если использовать простую ссылку

 


Proxy Применимость

n Удаленный заместитель  предоставляет локального представителя вместо объекта, находящегося в другом адресном пространстве

n Виртуальный заместитель создает тяжелые объекты по требованию

n Защищающий заместитель контролирует доступ к исходному объекту

 

Proxy Применимость

n Умная ссылка замена обычного указателя:

l подсчет числа ссылок на реальный объект

l загрузка объекта в память при первом обращении к нему

l проверка и установка блокировки на реальный объект при обращении к нему, чтобы никакой другой объект не смог в это время изменить его

 

Proxy Структура

 

Диаграмма объектов

 

 

Вопрос 100 Поведенческие паттерны проектирования. Паттерн «итератор» (Iterator). 38-42 Лекция Введение в паттерны проектирования.

Iterator

n Название и классификация Итератор – паттерн поведения объектов

n Назначение Предоставляет способ последовательного доступа ко всем элементам составного объекта, не раскрывая его внутреннего представления

n Известен также под именем Cursor

 

Iterator Мотивация

 

Iterator Применимость

Используйте итератор:

n Для доступа к содержимому агрегированных объектов без раскрытия их внутреннего представления

n Для поддержки нескольких активных обходов одного и того же агрегированного объекта

n Для предоставления единообразного интерфейса с целью обхода различных агрегированных структур (для поддержки полиморфной итерации)

 

Iterator Структура

 

Iterator

n Особенности

l Поддерживает различные виды обхода агрегата

l Итераторы упрощают интерфейс класса-агрегата

l Одновременно для данного агрегата может быть активно несколько обходов

n Реализация

l Какой участник управляет итерацией?

n Внутренний

n Внешний

l Насколько итератор устойчив?

l Дополнительные операции итератора

 

 

Дата: 2019-07-30, просмотров: 213.