Сайт вебмастера

Шаблон проектирования Adapter (адаптер)

07-10-2019Время чтения ~ 1 мин.PHP/ООП 6266

Суть паттерна отражает его название — использовать два несовместимых между собой класса через некий общий интерфейс. То есть создаётся класс-оболочка, которая скрыто выполняет нужный класс. По своему поведению, Адаптер очень похож на Фасад. Правда под Фасадом больше понимается именно скрытие реализации за каким-то общим методом, а Адаптер предполагает именно «приведение» классов к одному типу.

Исходный код Адаптера вы можете посмотреть на гитхабе.

Кратко опишу что в нём происходит. Есть два совершенно разных класса. Но при этом, мы хотим привести их к некоему одному типу/поведению в рамках своего проекта. В данном случае это интерфейс AdapterInterface. Дальше делаются классы, реализующие этот интерфейс: AdapterA и AdapterB.

Метод commonMethod() является обязательным, и в нём мы уже подключаем существующие методы классов ClassA и ClassB. Такой подход позволяет использовать в приложении совершенно разные классы с нужным интерфейсом.

Похожие записи
Комментарии (1) RSS
1 junior OOP 2022-02-10 16:30:35

Спасибо!