Sobes.tech
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.