Встречается на собеседованиях • сегодня

Приведи пример использования Open-Closed Principle

Принцип открытости/закрытости (OCP) гласит, что классы должны быть открыты для расширения, но закрыты для модификации. Пример в Node.js:

javascript
class PaymentProcessor {
  process(paymentMethod) {
    throw new Error('Method not implemented');
  }
}

class CreditCardProcessor extends PaymentProcessor {
process() {
console.log('Processing credit card payment');
}
}

class PayPalProcessor extends PaymentProcessor {
process() {
console.log('Processing PayPal payment');
}
}

function makePayment(processor) {
processor.process();
}

// Использование:
makePayment(new CreditCardProcessor());
makePayment(new PayPalProcessor());

text

Вместо изменения существующего класса PaymentProcessor для добавления новых способов оплаты, мы расширяем его через наследование. Новые платежные системы добавляются без изменения основного класса.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы