2017-06-07 1 views
0

Ich habe zwei Dienste: Service A und Service B.Sollte ich "Kind" Abhängigkeiten in meinen Client injizieren?

Service A auf B Dienst hängt daher Dienst B in Betrieb A.

Jetzt muss ich Dienst A in meinem Controller verwende ich injizieren. Ich muss nur eine Methode in Service A, nicht in Service B anrufen.

Was ist die beste Praxis bei der Abhängigkeitsinjektion?

Sollte ich nur Service A in meinen Controller injizieren, weil ich nur eine Methode in Service A und nicht in Service B aufrufen muss?

Oder sollte ich sowohl Service A als auch Service B in meinen Controller injizieren, weil ich explizit sein muss und alle Abhängigkeiten meines Controllers anzeigen muss?

Antwort

2

Es gibt keine Einheitslösung.

Wenn Sie jedoch einen Abhängigkeits-Resolver (einen DI-Container) verwenden, sollten Sie diesen Resolver für die von Ihnen benötigte Instanz anfordern. Der Resolver sollte dann auch seine Abhängigkeiten auflösen.

Wenn nicht, würde ich geneigt sein, sowohl A als auch B zu injizieren.

Verwandte Themen