Może jestem po prostu ślepy, ale nie widzę, jak korzystać Guice (dopiero zaczynają z nim), aby zastąpić połączenia new
w tej metodzie:Jak używać Google Guice do tworzenia obiektów wymagających parametrów?
public boolean myMethod(String anInputValue) {
Processor proc = new ProcessorImpl(anInputValue);
return proc.isEnabled();
}
Do testów nie może być inna implementacja procesora , więc chciałbym uniknąć wywołania new
iw ten sposób pozbyć się zależności od implementacji.
Jeśli moja klasa może po prostu zapamiętać instancję procesora, mógłbym ją wprowadzić za pośrednictwem konstruktora, ale ponieważ procesory są zaprojektowane jako niezmienne, potrzebuję za każdym razem nowego.
W jaki sposób chciałbym osiągnąć ten cel dzięki Guice (2.0)?
Tak, AssistedInject jest najlepszym rozwiązaniem. http://code.google.com/p/google-guice/wiki/AssistedInject –
Oto krótki post, który o nim napisałem. Assisted Injection to wspaniałe narzędzie do rozwiązywania niektórych problemów i uważam, że nie jest tak dobrze znany. Dobra robota rozpowszechniająca wiedzę. http://ripper234.com/p/assisted-injection-in-guice/ – ripper234
Gdzie mogę uzyskać .jar do wspomaganego wstrzykiwania? Nie można go pobrać z http://code.google.com/p/google-guice/downloads/list. –