Referencia
Internals del container
Bindings, aliases y autowiring dentro del API público soportado.
Bindings y ciclo de vida de servicios
Usa bindings explícitos para interfaces y servicios importantes. singleton() comparte una instancia, mientras que set() crea el servicio cada vez que se resuelve.
Autowiring
El autowiring puede construir clases concretas cuando sus dependencias se pueden resolver. No sustituye una composición clara de la aplicación.
Mantén el container en la frontera de composición
Usa el container como herramienta para componer la aplicación, no como service locator dentro de la lógica de dominio.