Я довольно новичок в Guice и пытаюсь выяснить, разрешена ли моя проблема с Guice. У меня есть основной класс Driver, который выглядит следующим образом:Guice: условно создать 1 конкретную реализацию интерфейса (среди многих) во время выполнения
public class Driver{
execute(){
Manager m = injector.getInstance(Manager.class);
}
}
public class Manager{
private List<IExecutor> executors;
@Inject
public Manager(IExecutorWrapper executor){
this.executors = executor.getExecutors();
}
public List<IExecutor> getExecutors() {
return executors;
}
}
Мой IExecutorWrapper класс имеет несколько реализаций, каждый дает свой собственный список IExecutors. Во время выполнения выбирается только 1, логика выбора, какая реализация зависит от контекста. Каков наилучший способ для этого, чтобы мой класс драйвера не нуждался в изменении? Как будет выглядеть мой GuiceModule?
Спасибо!
Что является логикой выбора для «IExecutorWrapper»? –
Если ctx.contains ("a"), выберите 1 другой вариант другого. – sharath
Вы должны быть более конкретными. каков ваш контекст? От куда это? которые создают/обновляют его? –