Вопрос 97 Структурные паттерн проектирования. Паттерн «адаптер» (Adapter) 21-24 Лекция Введение в паттерны проектирования.
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Adapter

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

n Назначение Преобразует интерфейс одного класса в интерфейс другого, который ожидают клиенты. Адаптер обеспечивает совместную работу классов с несовместимыми интерфейсами, которая без него была бы невозможна

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

 

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

n Применяйте адаптер классов, когда:

l хотите использовать существующий класс, но его интерфейс не соответствует вашим потребностям

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

n Применяйте адаптер объектов, когда

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

 

Adapter ( класса)

n Неприменим, если требуется адаптировать не только конкретный класс, но и его подклассы

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

n Вводится только один объект (непосредственно адаптера)

 

Adapter ( объекта)

n Один адаптер может работать со множеством адаптируемых объектов, включая объекты подклассов

n Затруднено замещение операций адаптируемого класса

 

 

Вопрос 98 Структурные паттерны проектирования. Паттерн «декоратор» (Decorator).25-30 Лекция Введение в паттерны проектирования.

Decorator

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

n Назначение
Динамически добавляет объекту новые обязанности. Является гибкой альтернативой порождению подклассов с целью расширения функциональности

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

 




Decorator Мотивация

 

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

Используйте паттерн декоратор:

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

n для реализации обязанностей, которые могут быть сняты с объекта

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

 

Decorator Структура

 

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

n Большая гибкость, чем у статического наследования

n Создание цепочек декораторов, в том числе из одних и тех же в одной цепочке

n Позволяет избежать перегруженных функциями классов на верхних уровнях иерархии

n Декоратор и его компонент не идентичны

n Множество мелких объектов

 

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