/ / Čo znamená "vstrekovanie" vo vstrekovacom systéme vstrekovanie a závislosť injekcie - závislosť-vstrekovanie, vstrekovanie konštruktéra

Čo znamená "vstrekovanie" vo vstrekovacom systéme vstrekovanie a závislosť - vstrekovanie, vstrekovanie konštruktéra

Čítal som o injekčnom zákroku. Potom príde

  • Injektor konštruktora,
  • Getter Injection
  • Setter Injection
  • Vstrekovanie rozhrania

Ako sa líšia od Dependency Injection alebo sú všetky rovnaké? Čo robiť injekcie Znamená to tu? Stačí dávať požadovaný objekt / parameter do triedy? Rovnako ako konštrukcia vstrekovania znamená prechod požadovaného parametra ako parametra konštruktora? alebo mi niečo chýba?

odpovede:

3 pre odpoveď č. 1

Závislosť injekcie je aktom poskytovania triedy so svojimi závislosťami tým, že je dodáva tretia strana.

Konštruktér Injekcia je najbežnejšou formouZávislosť injekcie. Konštruktér Injection je aktom statického vymedzenia zoznamu požadovaných závislostí tým, že ich špecifikuje ako parametre konštruktora triedy.

Setter Injection (a.k.a. Injekcia vlastníctva) a metóda Injekcia (s použitím Interface Injection, ktorá je špecializáciou metódy Injection) sú alternatívnymi spôsobmi dodávania (alebo "vstrekovania") závislosti do spotrebnej triedy.

Getter Injection, podľa môjho názoru, neexistuje. Getter je len schopný získať hodnoty, nie nastavenie čo je požiadavka na Závislosť injekcie.

Takže vstrekovanie konštruktorov, vstrekovacie zariadenie a vstrekovanie rozhrania sú všetky formuláre Závislosť od injekcie. Konštruktor Injekcia je najbežnejšia forma DI a núti triedy, ktorá sa má vytvoriť všetko jeho požadovaných závislostí. Injektor konštruktora by preto mal byť vašou preferovanou formou DI. Existujú však aj prípady, keď metóda vstrekovania alebo injekcia vlastností dáva zmysel. Kniha Závislosť injekcie v. NET druhom vydaní (Mark Seemann a ja) sa venuje veľa podrobností o týchto formách DI (hlavne kapitola 4).