我有几个类StrategyAlpha,StrategyBeta,StrategyOmega继承自Strategy类。
我想根据输入的属性选择合适的子策略,使用guice,依赖注入框架。
在运行时连接依赖项是个坏主意吗? 如何使用Guice来做到这一点?
答案 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; } }
这些参数是什么,以及为什么会更有可能确定这是否有意义。