Junior — Middle
Kunt u het concept van dependency injection uitleggen en hoe het wordt toegepast in softwareontwikkeling?
sobes.tech AI
Antwoord van AI
Dependency Injection (DI) is een ontwerppatroon waarbij objecten hun afhankelijkheden van buitenaf ontvangen, in plaats van ze zelf te creëren. Dit verbetert de modulariteit, testbaarheid en flexibiliteit van de code.
Voorbeeld: in plaats van dat de klasse zelf een database-object aanmaakt, ontvangt het dat via de constructor of een setter.
class Database:
def query(self):
return "gegevens"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Dependency injectie
database = Database()
service = Service(database)
print(service.get_data())
Deze aanpak maakt het gemakkelijk om afhankelijkheden te vervangen (bijvoorbeeld door mocks tijdens testen) en verbetert het onderhoud van de code.