Quizás estoy ciego, pero no veo cómo utilizar Guice (acaba de empezar con él) para reemplazar la llamada new
en este método:¿Cómo se usa Google Guice para crear objetos que requieren parámetros?
public boolean myMethod(String anInputValue) {
Processor proc = new ProcessorImpl(anInputValue);
return proc.isEnabled();
}
Para la prueba de que podría haber una implementación diferente del procesador , así que me gustaría evitar la llamada new
y, en el transcurso de eso, deshacerme de la dependencia de la implementación.
Si mi clase solo pudiera recordar una instancia de Processor, podría inyectarla a través del constructor, pero como los Processors están diseñados para ser inmutables, necesito uno nuevo cada vez.
¿Cómo podría lograr y lograr eso con Guice (2.0)?
Sí, AssistedInject es la mejor solución. http://code.google.com/p/google-guice/wiki/AssistedInject –
Aquí hay una breve publicación que escribí al respecto. La inyección asistida es una herramienta maravillosa para algunos problemas, y creo que no es tan conocida. Buen trabajo difundiendo el conocimiento. http://ripper234.com/p/assisted-injection-in-guice/ – ripper234
¿Dónde puedo obtener el .jar para inyección asistida? No está disponible como descarga en http://code.google.com/p/google-guice/downloads/list. –