Inyección de dependencias

La problemática con estas viene dada por el grado de acoplamiento que tiene la dependencia con el componente.

La forma habitual de implementar este patrón es mediante un "Contenedor DI", también llamado "Contenedor IoC" y objetos planos o simples por ejemplo los llamados POJO en Java.

Sin embargo, esa no es una buena práctica dado que sus componentes tienen una fuerte relación entre sí, que al final nos supondrá un inconveniente para el mantenimiento del software.

[2]​ Esto se puede lograr de forma manual o mediante frameworks como Spring, para lograr esta versatilidad, la inyección de dependencias se apoya en la programación orientada a interfaces.

El siguiente ejemplo muestra una implementación sin inyección de dependencias.

El siguiente ejemplo sencillo muestra una implementación realizando inyección de dependencias usando un método setter.

Estructura de la inyección de dependencias