Встречается на собеседованиях • сегодня
Как в коде уйти от Mixins
Использование миксинов может усложнить код, особенно при множественном наследовании. Вот альтернативы:
- Композиция - вместо наследования включайте нужное поведение через атрибуты:
python
class Logger:
def log(self, msg):
print(msg)
class Service:
def __init__(self):
self.logger = Logger()
text
def do_work(self):
self.logger.log("Working")text
2. **Декораторы** - для добавления функциональности:
```python
def log_methods(cls):
for name, method in cls.__dict__.items():
if callable(method):
setattr(cls, name, logged(method))
return cls- Dependency Injection - передача зависимостей через конструктор:
python
class DataProcessor:
def __init__(self, validator):
self.validator = validator- ABC (Abstract Base Classes) - для чёткого определения интерфейсов
Композиция обычно предпочтительнее наследования, так как делает код более гибким и тестируемым.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы