Sobes.tech
Назад к вопросам
Middle
2

Что-нибудь про паттерн Adapter можешь рассказать?

Компании, где спрашивали
BP

Ответ от нейросети

sobes.tech AI

Паттерн Adapter (Адаптер) используется для преобразования интерфейса одного класса в интерфейс, который ожидает клиент. Это позволяет классам с несовместимыми интерфейсами работать вместе.

Пример на Python:

class OldSystem:
    def specific_request(self):
        return "Данные в старом формате"

class Adapter:
    def __init__(self, old_system):
        self.old_system = old_system

    def request(self):
        # преобразуем вызов к старому интерфейсу
        data = self.old_system.specific_request()
        return f"Адаптированные данные: {data}"

old = OldSystem()
adapter = Adapter(old)
print(adapter.request())  # Адаптированные данные: Данные в старом формате

Таким образом, Adapter инкапсулирует вызовы к старому интерфейсу и предоставляет новый, ожидаемый клиентом.