Вы хотели бы связать что-то вроде StrategyProvider, который при заданных входных данных возвращает соответствующую стратегию.
Вы всегда можете создать поставщика - что-то вроде:
@ Inject StrategyProvider (@Именованная («альфа») стратегия альфа, @Named («бета») стратегия бета ...) {this.alpha = альфа;this.beta = бета;}
Стратегия get (параметр a, параметр b) {if (a> 3 && b <10) {return beta;} else {return alpha;}} </p>
Что такое параметры и зачем определять, имеет ли это смысл, более чем вероятно.