Junior — Middle
Czy możesz wyjaśnić koncepcję wstrzykiwania zależności i jak jest ona stosowana w rozwoju oprogramowania?
sobes.tech AI
Odpowiedź od AI
Wstrzykiwanie zależności (Dependency Injection, DI) to wzorzec projektowy, w którym obiekty otrzymują swoje zależności spoza nich, zamiast tworzyć je samodzielnie. Zwiększa to modularność, testowalność i elastyczność kodu.
Przykład: zamiast aby klasa sama tworzyła obiekt bazy danych, otrzymuje go przez konstruktor lub setter.
class Database:
def query(self):
return "dane"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Wstrzykiwanie zależności
database = Database()
service = Service(database)
print(service.get_data())
Takie podejście ułatwia zamianę zależności (np. na atrapki podczas testów) i poprawia utrzymanie kodu.