Встречается на собеседованиях • сегодня

Что такое паттерн Адаптер (Adapter)

Паттерн Адаптер позволяет объектам с несовместимыми интерфейсами работать вместе. Он оборачивает один интерфейс в другой, преобразуя вызовы.

Пример:

python
class OldSystem:
    def old_request(self):
        return "Old system response"

class Adapter:
    def __init__(self, old_system):
        self._old_system = old_system
text
def request(self):
    return self._old_system.old_request()

Клиентский код ожидает метод request()

def client_code(target):
print(target.request())

old = OldSystem()
adapter = Adapter(old)
client_code(adapter) # Работает через адаптер

text

Основные случаи использования:
- Интеграция старого кода с новой системой
- Работа со сторонними библиотеками, интерфейс которых не соответствует ожиданиям
- Предоставление единого интерфейса к разным классам с похожей функциональностью

Преимущества:
- Разделяет и скрывает преобразование интерфейсов
- Позволяет повторно использовать существующий код

Недостатки:
- Увеличивает сложность кода дополнительными классами
- Может быть признаком плохого дизайна, если используется чрезмерно
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы