Similar presentations:
Структурные паттерны «Адаптер» и «Фасад»
1.
Структурныепаттерны
«Адаптер» и «Фасад»
2.
Паттерн «Адаптер»Назначение: преобразует интерфейс
одного класса в интерфейс другого,
который ожидают клиенты. Адаптер
делает возможной совместную работу
классов с несовместимыми
интерфейсами.
3.
01 МотивацияАдаптер — это клей, который связывает
воедино два мира путем подгонки текущих
классов к требуемому интерфейсу.
4.
Диаграмма паттерна5.
Участники01
02
03
ИНТЕРФЕЙС
КЛАСС
КЛАСС-АДАПТЕР
Чей интерфейс нужно
преобразовать
Который преобразует
интерфейс
К которому нужно
преобразовать интерфейс
существующих классов
04
КЛИЕНТЫ НОВОГО
ИНТЕРФЕЙСА
Которые работают с
адаптированными классами
6.
01ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ
ЧУЖОГО КОДА
ПРИМЕНИМОСТЬ
02
АДАПТИВНЫЙ
РЕФАКТОРИНГ
7.
ПАТТЕРН«ФАСАД»
8.
НАЗНАЧЕНИЕпредоставляет
унифицированный
интерфейс вместо
набора интерфейсов
некоторой
подсистемы.
9.
МОТИВАЦИЯФасады - скрывают исходную сложность библиотеки или модуля за более
простым и, возможно, специфичным для приложения интерфейсом.
10.
Диаграмма паттерна11.
УчастникиФАСАДНЫЙ
КЛАСС
КЛИЕНТ
ФАСАДА
КОТОРЫЙ ПРЯЧЕТ
ДЕТАЛИ ПОДСИСТЕМЫ
РАБОТАЕТ С ФАСАДОМ,
А НЕ С КЛАССАМИ
12.
КАКИЕПРОБЛЕМЫ
РЕШАЕТ
ИСПОЛЬЗОВАНИЕ
ФАСАДОВ?
1. Повторное использование
кода и лучших практик.
2. Переход на новую версию
библиотеки.
3. Переход с одной библиотеки
на другую.
13.
Для работы с
большинством
сторонних
библиотек
ПРИМЕНИМОСТЬ
14.
ЗАДАНИЕКак паттерн «Фасад» влияет на
уровень абстракции?