Guice bietet zwei Varianten der sogenannten Bindung Anmerkungen, die wirklich scheint zu brechen Klassen- und Instanzebene Anmerkungen:Guice: Klassen- oder Instanzebene Bindung Anmerkungen
„Class-Niveau“ :
bind(Service.class).annotatedWith(Red.class).to(RedServiceImpl.class);
@Red
public class SomeService implements Service { ... }
Service redSvc = injector.getInstance(SomeService.class);
"Instanz-Ebene":
bind(Service.class).annotatedWith(Names.named("Blue").to(BlueServiceImpl.class);
@Blue blueSvc = injector.getInstance(Service.class);
Wann ist ein Verfahren bevorzugt über die andere? Es scheint, dass Annotationen auf Klassenebene absoluter/unflexibler sind als Instanzenebene. Vorteile/Nachteile/Nachteile/Fallen beider Methoden?