Встречается на собеседованиях • сегодня
Приведи пример использования 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 для добавления новых способов оплаты, мы расширяем его через наследование. Новые платежные системы добавляются без изменения основного класса.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы