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.