Dependency injection
Een component krijgt afhankelijkheden van buitenaf in plaats van concrete implementaties zelf te maken.
Wat is dependency injection?
Bij dependency injection krijgt een component benodigde afhankelijkheden van buitenaf, bijvoorbeeld als constructorparameters. De component hoeft de concrete implementatie niet zelf te maken. Het samenstellen van onderdelen wordt gescheiden van hun gebruik. Gewone programmacode kan dit doen; een speciale DI-container is niet vereist voor het principe.
In een fictief voorbeeld krijgt een rapportcomponent een gegevenslezer. In gebruik leest die de bedoelde bron; voor een gerichte test kan een passende testimplementatie vaste gegevens leveren. Dat ondersteunt afzonderlijke controle, maar toont geen juiste aansluiting op de echte bron aan. Levensduur, configuratie en vrijgeven van benodigde middelen vragen nog keuzes. DI is een specifieke vorm van inversion of control; niet iedere inversion of control of service locator is DI.
Bronnen
Verwante begrippen
- Clean ArchitectureBedrijfsregels scheiden van externe details en broncodeafhankelijkheden naar de kern richten.
- UnittestEen gerichte controle van een klein, afgebakend softwaredeel, zoals een regel of functie.
- OntwerppatroonEen herbruikbare oplossingsstructuur voor een terugkerend ontwerpprobleem, met eigen afwegingen.
- Cache stampedeEen cache stampede ontstaat wanneer gelijktijdige cachemissers dezelfde dure berekening of gegevensopvraag herhaaldelijk starten.
- BackpressureBackpressure stemt de instroom van gegevens af op de verwerkingscapaciteit van de ontvanger via signalen om te vertragen of te pauzeren.
- Race conditionEen fout resultaat hangt af van de tijdsvolgorde van overlappende toegang.
Uw project met ASES
Beschrijf ons uw project. We nemen contact met u op met een eerste inschatting.