DI in un oggetto che è DI'd?

3

Volevo sapere se va bene provare a inserire la dipendenza in una classe che è stata iniettata in dipendenza, ad esempio:

class RootDependency{
}

class AnotherDependency{
      [InjectDecoratorForWhateverLibraryYouAreUsing]
      RootDependency injectedRoot;
}

// Inject AnotherDependency into a class...
class RandomClass{
      [InjectDecoratorForWhateverLibraryYouAreUsing]
      AnotherDependency itDepends;
}
    
posta meds 26.01.2018 - 07:23
fonte

1 risposta

4

Sì, va bene. Questo è il modo in cui costruisci un oggetto grafico.

L'iniezione delle dipendenze preferisce costruire questi oggetti più in alto possibile nello stack delle chiamate. Questo di solito è principale. Ma non c'è limite che impedirebbe l'iniezione di A in B, B in C e così via.

Una cosa che potrebbe valere la pena di notare. C'è la legge di Demetra che dice in questa situazione che è meglio se C parla solo con (usa) da A a B. Non è bene per B cedere a C un riferimento ad A.

Questo perché Cs friend è B not A. Parlate con i vostri amici. Non amici di amici. È meglio lasciare che B si preoccupi di sapere come usare A. Ciò consente di astrarre questi dettagli.

Rispetta questo e puoi creare grafici di oggetti abbastanza complessi senza che questo si trasformi in un caos aggrovigliato. Perché i dettagli di questa complessità non si stanno diffondendo.

    
risposta data 26.01.2018 - 07:47
fonte

Leggi altre domande sui tag