Патерн Адаптер: опис, функції та можливості, поради по роботі

Адаптер – це структурний шаблон проектування, який використовується для організації та реалізації методів об’єкта, який можна модифікувати за коштами спеціально розробленого інтерфейсу. Інакше можна сказати, що це структурний шаблон, який дає можливість об’єктів з несумісними інтерфейсами взаємодіяти між собою.

Опис

Патерн Адаптер здійснює адаптацію між класами та об’єктами. Як і будь-адаптер в навколишньому світі, шаблон є інтерфейсом або мостом між двома об’єктами. У реальному світі у нас є адаптери для блоків живлення, для жорстких дисків, для навушників, для карт пам’яті камери і так далі. Для прикладу розглянемо кілька адаптерів для карт пам’яті. Якщо не вдається підключити карту пам’яті камери до ноутбука безпосередньо, можна використовувати адаптер: карта пам’яті камери підключається до адаптера, а адаптер – до роз’єму для ноутбука. Таким чином проблема несумісності інтерфейсів буде дозволена.

У разі розробки програмного забезпечення все виглядає приблизно таким же чином. Можна уявити ситуацію, коли певний клас, очікує якийсь тип об’єкта, і є об’єкт, що пропонує той же функціонал, але з іншим інтерфейсом. Звичайно, вигідно буде використовувати обидва з них, щоб не реалізовувати один з інтерфейсів повторно і не змінювати існуючі класи. Саме в такій ситуації буде розумно використовувати адаптер для проектування програмного забезпечення.