Peut-être que je suis juste aveugle, mais je ne vois pas comment utiliser Guice (juste de commencer avec elle) pour remplacer l'appel new
dans cette méthode:Comment utiliser Google Guice pour créer des objets nécessitant des paramètres?
public boolean myMethod(String anInputValue) {
Processor proc = new ProcessorImpl(anInputValue);
return proc.isEnabled();
}
Pour les tests, il pourrait y avoir une autre implémentation du processeur , donc je voudrais éviter l'appel new
et au cours de cela se débarrasser de la dépendance à l'implémentation. Si ma classe pouvait juste se souvenir d'une instance de Processor, je pourrais l'injecter via le constructeur, mais comme les processeurs sont conçus pour être immuables, j'en ai besoin d'un nouveau à chaque fois.
Comment pourrais-je m'y prendre avec Guice (2.0)?
Eh oui, AssistedInject est la meilleure solution. http://code.google.com/p/google-guice/wiki/AssistedInject –
Voici un court article que j'ai écrit à ce sujet. L'injection assistée est un outil merveilleux pour certains problèmes, et je crois que ce n'est pas si bien connu. Bon travail répandre les connaissances. http://ripper234.com/p/assisted-injection-in-guice/ – ripper234
Où puis-je obtenir le fichier .jar pour l'injection assistée? Il n'est pas disponible en téléchargement sur http://code.google.com/p/google-guice/downloads/list. –