有没有人见过/尝试编写使用 Guice 风格配置系统的服务定位器模式?
目前我有一个使用命令模式的 GWT 项目(恰好使用 GWT-RPC),其中我的 RPC servlet 看起来像这样......
public interface TransactionService extends RemoteService {
<T extends Response> T execute(Action<T> action);
}
在我当前执行方法的实现中,我这样做......
if(action instanceof SomeActionImpl){
doSomeActionImpl((SomeActionImpl)action);
}else if(action instanceof SomeActionImpl2){
doSomeActionImpl2((SomeActionImpl2)action);
}
我想做的是找出一种方法来摆脱巨大的 if 语句。我需要某种方式来注册 ActionImpl1 的类应该委托给 TransactionNService 的另一个实现。
有任何想法吗?我正在考虑向 HashMap 添加条目,其中键是 Action 的类,值是 ServiceImpl 的类。我有一个对 ServiceImpl 类的引用,我可以使用 Guice 来获取 TransactionService 的实例。