JavaGuice:运行时依赖项重新连接

JavaGuice:运行时依赖项重新连接,java,guice,Java,Guice,我有几个类StrategyAlpha、StrategyBeta和StrategyOmega继承自Strategy类 我想根据使用guice(依赖项注入框架)的输入属性选择适当的子策略 在运行时连接依赖项是个坏主意吗? 如何使用Guice来实现这一点?看起来您需要的是一个工厂来根据一组属性实例化适当的对象 您可以使用factory设计模式来实现工厂-看起来您需要的是一个工厂来根据一组属性实例化适当的对象 您可以使用factory设计模式来实现工厂-您可能希望绑定StrategyProvider之类

我有几个类StrategyAlpha、StrategyBeta和StrategyOmega继承自Strategy类

我想根据使用guice(依赖项注入框架)的输入属性选择适当的子策略

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

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


您可以使用factory设计模式来实现工厂-

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


您可以使用factory设计模式来实现工厂-

您可能希望绑定StrategyProvider之类的东西,它在给定输入的情况下返回适当的策略

您始终可以创建一个提供者—类似于:

@注入 StrategyProvider(@Named(“alpha”)Strategy alpha,@Named(“beta”)Strategy beta…){ 这个α=α; 这个β=β; }

策略获取(参数a、参数b){ 如果(a>3&&b<10){ 返回β; }否则{ 返回α; } }


参数是什么,以及为什么会决定这是否有意义,很有可能。

您希望绑定StrategyProvider之类的东西,它在给定输入的情况下返回适当的策略

您始终可以创建一个提供者—类似于:

@注入 StrategyProvider(@Named(“alpha”)Strategy alpha,@Named(“beta”)Strategy beta…){ 这个α=α; 这个β=β; }

策略获取(参数a、参数b){ 如果(a>3&&b<10){ 返回β; }否则{ 返回α; } }


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

在Guice中,您称工厂为Guice中的供应商或提供者,您称工厂为供应商或提供者给出了如何使用Guice提供者的详细示例给出了如何使用Guice提供者的详细示例