Кто-нибудь когда-либо видел/пытался написать шаблон локатора службы, в котором используется система настройки стиля Guice?Локатор в стиле Guice
В настоящее время у меня есть проект GWT (что происходит использовать GWT-RPC), который использует шаблон команды, где мой RPC-сервлет, который выглядит следующим образом ...
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);
}
То, что я хотел бы сделать, это выяснить способ, чтобы избавиться от, если заявление гиганта. Мне нужен какой-то способ регистрации того, что класс ActionImpl1 должен быть делегирован другой реализации TransactioNService.
Любые идеи? Я думал просто добавлять записи в HashMap, где ключ - это класс Action, а значение - класс ServiceImpl. Один я имею ссылку на класс ServiceImpl, я мог бы использовать Guice для получения экземпляра TransactionService.
Разве вы не можете использовать Bind для этого? (http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Binder.html) – Margus
Связывание будет означать Bind this type для этой реализации этого типа. – benstpierre