Cómo usar la inyección de dependencia y no el localizador de servicios

Estoy escuchando a personas decir que no debe usar el Localizador de servicios para su Inyección de dependencia. Entonces, ¿cómo se inyectan exactamente las dependencias sin depender de un localizador de servicios? Quiero probar los contenedores de IoC, pero no quiero aterrizar en un antipatrón.

¿Debería configurar todo para que haya un lugar donde todas las clases siempre tengan una cadena de dependencia a las clases más profundas? (si yo / eso tiene sentido)

No es correcto tener todo su código lleno de dependencias en el contenedor de IoC de elección, ¿verdad?

Entonces, ¿dónde "usas" el contenedor (para volver a resolver)? ¿Y cómo lo haces para resolver todo, tan profundo como va tu código? ¿Es parte del diseño de todo de la manera correcta mediante el uso de interfaces a través de cada capa hasta la capa frontal?

¿O me estoy perdiendo un punto?

Permíteme recordarte que simplemente no quiero caer en un antipatrón y necesito algunos consejos / advertencias al respecto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta