7.34M

8 Структурные - Адаптер и Фасад

1.

Структурные
паттерны
«Адаптер» и «Фасад»

2.

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

3.

01 Мотивация
Адаптер — это клей, который связывает
воедино два мира путем подгонки текущих
классов к требуемому интерфейсу.

4.

Диаграмма паттерна

5.

Участники
01
02
03
ИНТЕРФЕЙС
КЛАСС
КЛАСС-АДАПТЕР
Чей интерфейс нужно
преобразовать
Который преобразует
интерфейс
К которому нужно
преобразовать интерфейс
существующих классов
04
КЛИЕНТЫ НОВОГО
ИНТЕРФЕЙСА
Которые работают с
адаптированными классами

6.

01
ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ
ЧУЖОГО КОДА
ПРИМЕНИМОСТЬ
02
АДАПТИВНЫЙ
РЕФАКТОРИНГ

7.

ПАТТЕРН
«ФАСАД»

8.

НАЗНАЧЕНИЕ
предоставляет
унифицированный
интерфейс вместо
набора интерфейсов
некоторой
подсистемы.

9.

МОТИВАЦИЯ
Фасады - скрывают исходную сложность библиотеки или модуля за более
простым и, возможно, специфичным для приложения интерфейсом.

10.

Диаграмма паттерна

11.

Участники
ФАСАДНЫЙ
КЛАСС
КЛИЕНТ
ФАСАДА
КОТОРЫЙ ПРЯЧЕТ
ДЕТАЛИ ПОДСИСТЕМЫ
РАБОТАЕТ С ФАСАДОМ,
А НЕ С КЛАССАМИ

12.

КАКИЕ
ПРОБЛЕМЫ
РЕШАЕТ
ИСПОЛЬЗОВАНИЕ
ФАСАДОВ?
1. Повторное использование
кода и лучших практик.
2. Переход на новую версию
библиотеки.
3. Переход с одной библиотеки
на другую.

13.


Для работы с
большинством
сторонних
библиотек
ПРИМЕНИМОСТЬ

14.

ЗАДАНИЕ
Как паттерн «Фасад» влияет на
уровень абстракции?
English     Русский Rules