Що таке патерн Adapter?
javascript
// Стара система
class OldPaymentGateway {
processPayment(amount) {
console.log(`Обробка $${amount}`);
}
}
// Потрібен новий інтерфейс
class PaymentAdapter {
constructor(gateway) {
this.gateway = gateway;
}
pay(amount, currency) {
// Адаптація старого інтерфейсу до нового
const converted = this.convertCurrency(amount, currency);
this.gateway.processPayment(converted);
}
convertCurrency(amount, currency) {
// Логіка конвертації
return amount;
}
}
// Використання
const oldGateway = new OldPaymentGateway();
const adapter = new PaymentAdapter(oldGateway);
adapter.pay(100, "USD"); // Працює з новим інтерфейсом!Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.