¿Qué es la inyección de dependencia?
La inyección de dependencia es una técnica utilizada en la programación orientada a objetos (OOP). 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 OOP 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 a menudo es escaso en la mayoría de los programas. Para hacer que el programa dependa, 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 permiten que solo se haga referencia a programas específicos. Por ejemplo, si el programador desea agregar capacidades de texto al programa, en lugar de hacer 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 otro programa funcione y permanezca instalado en la computadora.
La mayoría de los programadores nuevos prefieren usar la inyección de dependencia en lugar de crear características a mano. Esto se debe a que la creación de funciones puede ser complicada y los nuevos programadores pueden no saber cómo hacer que la función sea efectiva. Al hacer referencia a un programa, el programador no necesita conocer la codificación, y cualquier característica se puede agregar 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 los consumidores, por lo que los profesionales y los proveedores de software a menudo no lo utilizan o lo utilizan con moderación. Uno de los problemas más obvios con la inyección de dependencia en el lado del consumidor es la posibilidad de que el consumidor no tenga el programa referenciado. Si el programa está diseñado para hacer referencia a una función en el Programa A, pero el consumidor no tiene instalado el Programa A, la función o todo el programa se encontrará con 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 que el programador debe analizar para encontrar el error, especialmente porque el error puede estar en el programa referenciado y no en el programa original.
Muchos programadores nuevos usan la inyección de dependencia, por lo que la mayoría de los esquemas de OOP ofrecen una forma automática de hacer referencia a un programa. Esto permite al programador, con solo unos pocos clics, hacer 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 el programa probablemente no irá a los consumidores, esto no debería presentar ningún problema serio.