有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Guicestyle服务定位器

是否有人见过/试图编写使用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的类应该委托给TransactioNService的另一个实现

有什么想法吗?我正在考虑向HashMap添加条目,其中键是Action的类,值是ServiceImpl的类。我有一个对ServiceImpl类的引用,我可以使用Guice获取TransactionService的实例


共 (1) 个答案

  1. # 1 楼答案

    看看网络。海关。gwt。派遣服务器gwt调度(http://code.google.com/p/gwt-dispatch/)中的DefaultActionHandlerRegistry类;它完全符合你的建议。以下是存储处理程序的成员变量:

    私人最终地图<;类别<;?扩展操作<&燃气轮机>;,ActionHandler<&燃气轮机&燃气轮机;处理者

    如果希望在服务器端执行处理程序,则使用gwt调度服务器端组件;如果它是客户端的东西,那么考虑在Debug TraceNoNoReRealRe登记中建模调度类。