¿Por qué el uso de una sola inyección de dependencias?

¿Por qué el uso de una sola inyección de dependencias?

respuesta 1

Creo que un montón de veces la gente se confunde acerca de la diferencia entre la inyección de dependencia y una inyección de dependencias marco (o un contenedor , ya que a menudo se llama).

La inyección de dependencia es un concepto muy simple. En lugar de este código:

public class A { private B b; public A() { this.b = new B(); // A *depends on* B } public void DoSomeStuff() { // Do something with B here } } public static void Main(string[] args) { A a = new A(); a.DoSomeStuff(); }

se escribe código como este:

public class A { private B b; public A(B b) { // A now takes its dependencies as arguments this.b = b; // look ma, no "new"! } public void DoSomeStuff() { // Do something with B here } } public static void Main(string[] args) { B b = new B(); // B is constructed here instead A a = new A(b); a.DoSomeStuff(); }

Y eso es. Seriamente. Esto le da un montón de ventajas. Dos de las más importantes son la capacidad de funcionalidad de control desde un lugar central (la Main()función) en lugar de extenderse a lo largo de su programa, y la capacidad para mayor facilidad a prueba cada clase de forma aislada (porque se puede pasar burla u otros objetos falsificados en su constructor vez de un valor real).

La desventaja, por supuesto, es que ahora tiene una mega función que sabe acerca de todas las clases utilizadas por el programa. Eso es lo que los marcos de DI pueden ayudar. Pero si usted está teniendo problemas para entender por qué este enfoque es valioso, yo recomiendo empezar con la inyección de dependencias manual de primera, para que puedan apreciar mejor lo que los distintos marcos por ahí puede hacer por usted.

 

Inyección de dependencias Desmitificar

La respuesta es simplificar la comprensión del concepto, y el autor contra otra celebridad complicará concepto

Inversión de Control Contenedores y el patrón de inyección de dependencia . Martin Fowler es mi autor favorito. Por lo general, que es clara y concisa. Aquí tiene éxito en la toma de sonido de inyección de dependencias terriblemente complicado. Aún así, este artículo tiene una discusión a fondo de las diversas formas de inyección de dependencia puede ser ajustado.

 

Supongo que te gusta

Origin www.cnblogs.com/chucklu/p/12583904.html
Recomendado
Clasificación