Durante una revisión del código, comencé a tener un pequeño dilema en cuanto a si utilizar la inyección de dependencia o no. Me gustaría escuchar sus opiniones, ya que este es un tema continuo y también ayudará en las futuras revisiones de código.
Antes de comenzar, quiero decir que a partir de mi conocimiento, DI se usa principalmente para la gestión de dependencias y, por lo tanto, es más fácil hacer pruebas de unidad (corríjame si me equivoco).
Ahora aquí está el escenario:
Esta es la clase que se usará como una dependencia solo una vez y probablemente para bien. Lo que significa que permanecerá así por un tiempo y ninguna otra clase lo utilizará.
La razón es que se trata de una refactorización de un código heredado y no había mucho que hacer sino separarlo en otra clase, al menos como un buen primer paso, para seguir SRP .
Además, otra cosa es que el hipotético doSomethingImportant () llega a la base de datos.
public SomeClass
{
public Object doSomethingImportant()
{
...
}
}
En base a esa información, ¿cree que está bien aumentar la dependencia en la otra clase en lugar de usar DI desde:
El tipo de argumento de administración de dependencias se cae ya que solo se usará una vez.
&
Las pruebas de unidad también se caen , ya que prefiero hacer una prueba de integración o de aceptación para ver cómo el método interactúa con la base de datos en una aplicación de la vida real.
public SomeOtherClass
{
private readonly SomeClass _someClass = new SomeClass();
public Object doSomethingImportantUsingDependency()
{
...
}
}
Personalmente me incliné a hacer DI porque se considera una buena práctica, pero por un segundo sentí que estaba siguiendo cegadoramente las reglas y no lo pensé, ya que siempre hay excepciones a la regla.
¿Qué piensas de esto? Me encantaría escuchar.
PS: No creo que esta sea una pregunta genérica de "cuándo debo usar DI" porque es muy específica para esta situación en particular cuando las pruebas unitarias no sirven y la clase se usará solo Una vez, no es necesario centralizarlo para la gestión de la dependencia (aunque es una buena práctica en general).