Dependency Injection
En komponent får avhengigheter utenfra i stedet for å opprette konkrete implementasjoner selv.
Hva er Dependency Injection?
Med Dependency Injection får en komponent nødvendige avhengigheter utenfra, for eksempel som parametre til konstruktøren. Den trenger ikke å opprette den konkrete implementasjonen selv. Sammensetningen av delene skilles fra bruken av dem. Vanlig programkode kan gjøre dette; prinsippet krever ingen egen DI-container.
I et oppdiktet eksempel får en rapportkomponent en dataleser. I drift leser den fra den tiltenkte kilden; til en målrettet test kan en egnet testimplementasjon levere faste data. Det støtter isolert kontroll, men dokumenterer ikke riktig tilkobling til den virkelige kilden. Levetid, konfigurasjon og frigjøring av nødvendige ressurser må fortsatt avklares. DI er en bestemt form for inversion of control; ikke all inversion of control eller enhver service locator er DI.
Kilder
Beslektede begreper
- Clean ArchitectureÅ skille forretningsregler fra ytre detaljer og rette kildekodens avhengigheter mot kjernen.
- EnhetstestEn målrettet kontroll av en liten, definert programvaredel, for eksempel regel eller funksjon.
- DesignmønsterEn gjenbrukbar løsningsstruktur for et tilbakevendende designproblem, med egne avveininger.
- Cache stampedeEt cache stampede kan oppstå når samtidige forespørsler ikke finner de samme dataene i cachen og starter samme kostbare arbeid.
- BackpressureBackpressure tilpasser tilførselen av data til mottakerens behandlingskapasitet gjennom signaler om å senke tempoet eller ta pause.
- KappløpstilstandEt feil resultat avhenger av tidsrekkefølgen i overlappende tilganger.
Ditt prosjekt med ASES
Beskriv prosjektet ditt for oss. Vi tar kontakt med en første vurdering.