Dependency Injection
En komponent får afhængigheder udefra i stedet for selv at oprette konkrete implementeringer.
Hvad er Dependency Injection?
Med Dependency Injection får en komponent nødvendige afhængigheder udefra, for eksempel som parametre til konstruktøren. Den behøver ikke selv at oprette den konkrete implementering. Sammensætning af delene adskilles fra brugen af dem. Almindelig programkode kan gøre dette; princippet kræver ikke en særlig DI-container.
I et opdigtet eksempel får en rapportkomponent en datalæser. I drift læser den fra den tiltænkte kilde; til en målrettet test kan en passende testimplementering levere faste data. Det støtter isoleret kontrol, men dokumenterer ikke korrekt forbindelse til den rigtige kilde. Levetid, konfiguration og frigivelse af nødvendige ressourcer skal stadig afklares. DI er en bestemt form for inversion of control; ikke enhver inversion of control eller service locator er DI.
Kilder
Relaterede begreber
- Clean ArchitectureEn arkitekturtilgang, der adskiller forretningsregler fra ydre detaljer og retter kildekodens afhængigheder ind mod kernen.
- EnhedstestEn målrettet kontrol af en lille, fastlagt del af softwaren, eksempelvis regel eller funktion.
- DesignmønsterEn genbrugelig løsningsstruktur til et tilbagevendende designproblem med egne afvejninger.
- Cache stampedeEt cache stampede opstår, når samtidige cache-misses starter den samme dyre beregning eller dataforespørgsel flere gange.
- BackpressureBackpressure tilpasser datastrømmen til modtagerens behandlingskapacitet gennem signaler om at sænke tempoet eller holde pause.
- Race conditionEt forkert resultat afhænger af tidsrækkefølgen i overlappende adgange.
Dit projekt med ASES
Beskriv dit projekt for os. Vi vender tilbage med en første vurdering.