Адаптер (Adapter) — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (→Диаграмма классов) |
Admin (обсуждение | вклад) (→Участники) |
||
Строка 13: | Строка 13: | ||
==== Участники==== | ==== Участники==== | ||
− | * | + | * '''Target''' - целевой объект |
+ | Определяет зависящий от предметной области интерфейс, которым пользуется Client | ||
+ | * '''Client''' - клиент | ||
+ | Работает с объектами, удовлетворяющими интерфейсу Target | ||
+ | * '''Adaptee''' - адаптируемый класс | ||
+ | Определяет существующий интерфейс, который нуждается в адаптации | ||
+ | * '''Adapter''' - адаптер | ||
+ | Адаптирует интерфейс Adaptee к интерфейсу Target | ||
=== Пример === | === Пример === |
Версия 09:41, 2 августа 2014
Другое название
Назначение
Адаптирует интерфейс одного класса к другому. Обеспечивает совместную работу классов с несовместимыми интерфейсами.
Описание
Иногда класс, спроектированный для повторного использования, не удается использовать только потому, что его интерфейс не соответствует интерфейсу, используемому в конкретном приложении. В этом случае создается класс адаптера с интерфейсом, требуемым конкретным приложением, ему передается адаптируемый объект и интерфейс адаптера реализуется вызовом методов адаптируемого объекта.
Реализация
Диаграмма классов
Участники
- Target - целевой объект
Определяет зависящий от предметной области интерфейс, которым пользуется Client
- Client - клиент
Работает с объектами, удовлетворяющими интерфейсу Target
- Adaptee - адаптируемый класс
Определяет существующий интерфейс, который нуждается в адаптации
- Adapter - адаптер
Адаптирует интерфейс Adaptee к интерфейсу Target