Java 指南 : Run time dependency re-wiring

标签 java guice

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

我想根据依赖注入(inject)框架 guice 的输入属性选择合适的子策略。

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

最佳答案

您想要绑定(bind)类似 StrategyProvider 的东西,它在给定输入的情况下返回适当的策略。

你总是可以创建一个提供者——比如:

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

策略get(参数a,参数b){ 如果(a > 3 && b < 10){ 返回测试版; } 别的 { 返回阿尔法; } }

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

关于Java 指南 : Run time dependency re-wiring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6079028/

相关文章:

java - Guice 的宗旨

scala - 如何在 Play 中不需要 Controller 请求的情况下初始化一个急切的单例?

java - 访问静态字段: caching handles locally

java - 为什么我的程序显示不超过一行数据

java - 如何删除在GUI中绘制的线条?

java - 配置 Maven scm 插件以使用 settings.xml 中的 serverID

java - 如何在整个应用程序中访问 Guice 注入(inject)器

java - Guice 的@ImplementedBy 是邪恶的吗?在某些情况下是否合适?

java - 在Java中注入(inject)多个参数同一个接口(interface)

java - 有什么方法可以只返回维基百科文章中的(干净的)文本吗?