Java Guice:运行时依赖性重新连接

时间:2011-05-21 01:29:23

标签: java guice

我有几个类StrategyAlpha,StrategyBeta,StrategyOmega继承自Strategy类。

我想根据输入的属性选择合适的子策略,使用guice,依赖注入框架。

在运行时连接依赖项是个坏主意吗? 如何使用Guice来做到这一点?

2 个答案:

答案 0 :(得分:0)

看起来你需要的是一个工厂来根据一组属性来实例化适当的对象。

您可以使用工厂设计模式实施工厂 - http://en.wikipedia.org/wiki/Factory_method_pattern

答案 1 :(得分:0)

你想要绑定像StrategyProvider这样的东西,给定输入,返回适当的策略。

您可以随时创建提供商 - 例如:

@注入 StrategyProvider(@Named(“alpha”)策略alpha,@ Name(“beta”)策略测试版...){      this.alpha = alpha;      this.beta = beta; }

策略获取(参数a,参数b){  if(a> 3&& b< 10){    返回beta;  } else {    返回alpha;  } }

这些参数是什么,以及为什么会更有可能确定这是否有意义。