Встречается на собеседованиях • сегодня
Приведи пример принципа Dependency Inversion
Dependency Inversion Principle (DIP) гласит, что модули верхнего уровня не должны зависеть от модулей нижнего уровня, а оба должны зависеть от абстракций. Пример:
python
from abc import ABC, abstractmethod
class NotificationService(ABC):
@abstractmethod
def send(self, message: str):
pass
class EmailService(NotificationService):
def send(self, message: str):
print(f"Sending email: {message}")
class SMSService(NotificationService):
def send(self, message: str):
print(f"Sending SMS: {message}")
class NotificationManager:
def init(self, service: NotificationService):
self.service = service
text
def notify(self, message: str):
self.service.send(message)Использование
email_notifier = NotificationManager(EmailService())
sms_notifier = NotificationManager(SMSService())
email_notifier.notify("Hello via Email")
sms_notifier.notify("Hello via SMS")
text
Здесь `NotificationManager` зависит от абстракции `NotificationService`, а не от конкретных реализаций. Это позволяет легко добавлять новые способы уведомлений без изменения кода менеджера.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы