Back to questions
Junior — Middle
77
Каким образом Dependency Injection помогает управлять зависимостями в приложении?
Answer from AI
sobes.tech AI
Dependency Injection (DI) помогает управлять зависимостями в приложении, позволяя передавать необходимые объекты (зависимости) в класс извне, а не создавать их внутри класса. Это повышает модульность, упрощает тестирование и облегчает замену компонентов.
Например, вместо того чтобы класс сам создавал объект базы данных, он получает его через конструктор или сеттер:
class Database:
def query(self):
return "data"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Внедрение зависимости
db_instance = Database()
service = Service(db_instance)
Такой подход позволяет легко заменить Database на мок-объект при тестировании или использовать другую реализацию без изменения класса Service.