Estoy empezando a jugar con Google Guice como un marco de inyección de dependencia y estoy intentando adaptarlo a un proyecto de tamaño pequeño a mediano que escribí recientemente. Entiendo los conceptos básicos de cómo funciona Guice, pero soy un poco vago en algunos de los detalles de acercamiento. Por ejemplo:Manejando bien con Google Guice
1) Los módulos se utilizan para definir sus enlaces, que luego se introducen en los inyectores. ¿Tiende a poner todo en un módulo o tiende a dividir las cosas en muchos módulos más pequeños?
2) ¿Tiene un inyector en el nivel superior que inyecta todo el árbol de objetos o inyectores múltiples punteados sobre los cuales solo inyecta esas dependencias que realmente necesita inyectar? Estoy pensando en mi propia base de código que, por supuesto, tiene muchas dependencias, pero solo un pequeño puñado que necesito controlar durante las pruebas.
3) Estoy un poco atascado en la mejor manera de obtener mis pruebas de sistema/integraciones utilizando solo módulos de entorno de prueba en lugar de las versiones de producción. Es probable que esta pregunta sea específica para la implementación, pero tengo curiosidad por saber qué métodos usan las personas. Como referencia, mi aplicación es una aplicación web basada en servlet.
¿Alguna otra sugerencia?
Ah, creo que estoy empezando a ver la diferencia ahora. Me encontré con otro post tuyo que arrojó luz sobre mi confusión. Básicamente, los inyectores múltiples en todo su código se asemejan más a un patrón de Localizador de servicios en lugar de a una inyección de dependencia. Todavía tengo que lidiar con esto, pero gracias por su respuesta, ya que me da un buen comienzo. –