Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: adapter, interface

В каких случаях используется паттерн Adapter?

Вопрос проверяет знание структурных паттернов и умение интегрировать несовместимые интерфейсы.

Короткий ответ

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

Длинный ответ

Adapter решает проблему несовместимости интерфейсов, не затрагивая исходную реализацию классов.

Определение

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


Когда он нужен

Типичные ситуации:

  1. Подключение стороннего API

  2. Работа с устаревшим кодом

  3. Унификация разных реализаций


Пример на Python

class OldPayment:
    def pay_sum(self, amount):
        ...

class PaymentAdapter:
    def __init__(self, service):
        self.service = service

    def pay(self, amount):
        return self.service.pay_sum(amount)

Плюсы и минусы

Плюсы:

  • Нет изменений существующего кода

  • Чистая интеграция

Минусы:

  • Дополнительный слой абстракции


Краткий вывод

Adapter оправдан, когда требуется совместимость без переписывания кода.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • Python

    Python

Ключевые слова

#adapter

#interface

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.