Встречается на 1% собеседований по Python
Какая возникнет проблема при неправильном использовании композиции
Неправильное использование композиции может привести к проблемам с управлением зависимостями и нарушению инкапсуляции. Например, если объект-контейнер создаёт зависимые объекты внутри себя, это усложняет тестирование и замену компонентов.
Пример проблемы:
python
class Engine:
def start(self):
print("Engine started")
class Car:
def __init__(self):
self.engine = Engine() # Жёсткая зависимость
def start(self):
self.engine.start()Здесь Car жёстко зависит от Engine, что затрудняет замену двигателя или мокирование в тестах.
Решение: Внедрять зависимости через конструктор (Dependency Injection):
python
class Car:
def __init__(self, engine: Engine):
self.engine = engine # Гибкая зависимостьТак код становится более гибким и тестируемым.

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