L'iniezione di dipendenza è spesso raccomandata nei progetti MVC perché è facile da implementare con il modello e aggiunge una miriade di potenziali benefici. Effettivamente, viene fornito in bundle con il progetto MVC predefinito in Visual Studio.
Se leggi su MVC, tuttavia, vedrai un sacco di persone che raccomandano l'uso di controller skinny. In altre parole, il controller fa poco più che un ponte tra il motore di visualizzazione e la logica di business. Tutto il lavoro di elaborazione è invece svolto dai modelli e dalle classi di supporto.
Ma se stai usando controller skinny, c'è bisogno di DI? Sicuramente in questo caso, la gestione di cose come un repository o un file helper dovrebbe essere fatta al di fuori del controller?
O per dirla in un altro modo, quello che sto chiedendo è che se hai dei controller skinny, non dovrebbe esserci la necessità che tali controller abbiano dipendenze esterne? Nessuna dipendenza, nessuna necessità di prenderli in giro per i test, quindi non c'è bisogno di DI. In effetti ho visto alcuni argomenti che non dovresti sottoporre a test unitario i controller skinny, perché non c'è quasi nessuna logica in essi.
C'è qualche valore nell'adottare entrambi gli approcci?