Что такое Adapter?

Ответ

Структурный паттерн: преобразует интерфейс одного класса в другой, ожидаемый клиентом. Позволяет использовать несовместимые интерфейсы вместе.

class StripeAdapter implements PaymentGateway {
    public function __construct(private StripeClient $stripe) {}
    public function charge(float $amount, string $token): void {
        $this->stripe->charges->create(['amount' => $amount * 100, 'source' => $token]);
    }
}

Объектный адаптер делегирует вызовы обернутому объекту; классовый - наследует целевой класс (в PHP реже).

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.