Java Guice: переустановка зависимостей во время выполнения - PullRequest
2 голосов
/ 21 мая 2011

У меня есть несколько классов StrategyAlpha, StrategyBeta, StrategyOmega, которые наследуются от класса Strategy.

Я бы хотел выбрать правильную дочернюю стратегию в зависимости от свойства входных данных, используя guice, структуру внедрения зависимостей.

Является ли подключение зависимостей во время выполнения плохой идеей? Как можно использовать Guice для этого?

Ответы [ 2 ]

0 голосов
/ 21 мая 2011

Вы хотели бы связать что-то вроде StrategyProvider, который при заданных входных данных возвращает соответствующую стратегию.

Вы всегда можете создать поставщика - что-то вроде:

@ Inject StrategyProvider (@Именованная («альфа») стратегия альфа, @Named («бета») стратегия бета ...) {this.alpha = альфа;this.beta = бета;}

Стратегия get (параметр a, параметр b) {if (a> 3 && b <10) {return beta;} else {return alpha;}} </p>

Что такое параметры и зачем определять, имеет ли это смысл, более чем вероятно.

0 голосов
/ 21 мая 2011

Похоже, вам нужна фабрика для создания экземпляра соответствующего объекта в зависимости от набора свойств.

Вы можете реализовать фабрику, используя шаблон фабричной конструкции - http://en.wikipedia.org/wiki/Factory_method_pattern

...