¿Qué es la inyección de dependencia?

La inyección de dependencia es una técnica utilizada en la programación orientada a objetos (POO). Esta técnica hace referencia, o se conecta, con otro programa y hace que el programa original dependa del programa referenciado. Esto permite a los programadores agregar instantáneamente funciones o características adicionales al programa original, pero también hace que la codificación sea más complicada y agrega una codificación excesiva que puede ralentizar el programa. La mayoría de los programas de programación orientada a objetos permiten a los programadores hacer referencia a una variedad de programas instalados sin necesidad de agregar código.

El uso de la inyección de dependencia suele ser escaso en la mayoría de los programas. Para hacer que el programa sea dependiente, el programador escribe código que hace referencia a otro programa, ya sea en parte o en su totalidad. Normalmente, se puede hacer referencia a cualquier programa instalado, pero algunos esquemas de codificación solo permiten hacer referencia a programas específicos. Por ejemplo, si el programador desea agregar capacidades de texto al programa, en lugar de crear la función a mano, puede hacer referencia a un programa de procesamiento de texto. Al hacer esto, el programa original ahora tiene una nueva característica, pero depende de que ese otro programa funcione y permanezca instalado en la computadora.

La mayoría de los programadores nuevos prefieren utilizar la inyección de dependencias en lugar de crear funciones a mano. Esto se debe a que la creación de funciones puede ser complicada y es posible que los nuevos programadores no sepan cómo crear la función de forma eficaz. Al hacer referencia a un programa, el programador no necesita conocer la codificación y se puede agregar cualquier característica con solo unas pocas líneas de código.

Existen muchos problemas con la inyección de dependencia, especialmente si el programa está destinado a consumidores, por lo que a menudo los profesionales y proveedores de software no lo utilizan o lo utilizan con moderación. Uno de los problemas más obvios con la inyección de dependencia por parte del consumidor es la posibilidad de que el consumidor no tenga el programa de referencia. Si el programa está construido para hacer referencia a una función en el Programa A, pero el consumidor no tiene el Programa A instalado, la función o todo el programa encontrará un error debilitante.

En altos niveles de dependencia, donde se hace referencia a varios programas, se manifiestan otros problemas. Hacer referencia a uno o dos programas crea una pequeña cantidad de código, pero hacer más puede requerir un código excesivo que ralentiza el programa. Si el programa tiene un error, ahora hay una gran cantidad de codificación complicada en la que el programador tiene que sumergirse para encontrar el error, especialmente porque el error puede estar en el programa al que se hace referencia y no en el programa original.

Muchos programadores nuevos utilizan la inyección de dependencias, por lo que la mayoría de los esquemas de programación orientada a objetos ofrecen una forma automática de hacer referencia a un programa. Esto permite al programador, con solo unos pocos clics del mouse, realizar la conexión de referencia. Hacer referencia automática a un programa a menudo agrega un poco más de codificación que escribir la referencia a mano, pero como el programador es nuevo y lo más probable es que el programa no llegue a los consumidores, esto no debería presentar ningún problema grave.