Паттерн Adapter в Java для взаимодействия несовместимых интерфейсов можно использовать в следующих случаях: 13
- Когда нужно использовать сторонний класс, но его интерфейс не соответствует остальному коду приложения. 3 Адаптер позволяет создать объект-прокладку, который будет превращать вызовы приложения в формат, понятный стороннему классу. 3
- Когда нужно использовать несколько существующих подклассов, но в них не хватает какой-то общей функциональности, причём расширить суперкласс нельзя. 3 В этом случае недостающую функциональность помещают в адаптер и приспосабливают его для работы с суперклассом. 3 Такой адаптер сможет работать со всеми подклассами иерархии. 3
Для реализации паттерна Adapter в Java необходимо: 3
- Определить клиентский интерфейс, от имени которого будет использоваться другой класс. 5
- Реализовать класс адаптера на базе этого интерфейса. 5
- В классе адаптера сделать поле, в котором хранится ссылка на объект. 5 Обычно эта ссылка передаётся в конструкторе. 5
- Реализовать в адаптере все методы клиентского интерфейса. 5
- Приложение должно использовать адаптер только через клиентский интерфейс. 3 Это позволит легко изменять и добавлять адаптеры в будущем. 3