En este post hablaré acerca de la inyección de dependencias.
Es un patrón de diseño orientada a objetos,en el que se suministran objetos a una clase
en lugar de ser la propia clase la que cree dichos objetos.
Esos objetos cumplen contratos que necesitan nuestras clases para poder funcionar (de ahí el concepto de dependencia).
Nuestras clases no crean los objetos que necesitan, sino que se los suministra otra clase 'contenedora' que inyectará la
implementación deseada a nuestro contrato.
Aparecieron dos conceptos para estructurar el código: la modularidad y la reutilización de los componentes:
se crean bibliotecas de componentes reutilizables. El flujo se complica, saltando de componente a componente,
y aparece un nuevo problema: la dependencia (acoplamiento) entre los componentes.