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

Python Middle Без компании
Что такое паттерн Адаптер (Adapter)
Ответы
Паттерн Адаптер позволяет объектам с несовместимыми интерфейсами работать вместе. Он оборачивает один интерфейс в другой, преобразуя вызовы. Пример: ``` class OldSystem: def old_request(self): return "Old system response" class Adapter: def __init__(self, old_system): self._old_system = old_system 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) # Работает через адаптер ``` Основные случаи использования: - Интеграция старого кода с новой системой - Работа со сторонними библиотеками, интерфейс которых не соответствует ожиданиям - Предоставление единого интерфейса к разным классам с похожей функциональностью Преимущества: - Разделяет и скрывает преобразование интерфейсов - Позволяет повторно использовать существующий код Недостатки: - Увеличивает сложность кода дополнительными классами - Может быть признаком плохого дизайна, если используется чрезмерно