Sobes.tech
Junior — Middle

El tudná magyarázni a függőséginjektálás fogalmát és hogyan alkalmazzák a szoftverfejlesztésben?

sobes.tech MI

Válasz az MI-től

Függőséginjektálás (Dependency Injection, DI) egy tervezési minta, amelyben az objektumok külső forrásból kapják meg függőségeiket, nem saját maguk hozzák létre azokat. Ez növeli a modularitást, a tesztelhetőséget és a rugalmasságot.

Példa: ahelyett, hogy az osztály maga hozna létre egy adatbázis objektumot, azt konstruktor vagy setter segítségével kapja meg.

class Database:
    def query(self):
        return "adatok"

class Service:
    def __init__(self, db: Database):
        self.db = db

    def get_data(self):
        return self.db.query()

# Függőséginjektálás
database = Database()
service = Service(database)
print(service.get_data())

Ez a megközelítés megkönnyíti a függőségek cseréjét (pl. mock-okkal teszteléskor), és javítja a kód karbantarthatóságát.