RequestFactory с сервисным уровнем - PullRequest
2 голосов
/ 08 февраля 2011

Мне нужно использовать GWT с сервисным доменным уровнем, а не с компонентами DAO.Подходит ли для этого архитектура GWT 2.1 с MVP и RequestFactory?Или я должен остаться с RPC?

Спасибо

1 Ответ

3 голосов
/ 08 февраля 2011

GWT 2.1.1 добавляет механизм Locator и ServiceLocator, чтобы позволить вам контролировать, как код сервера RequestFactory получает ссылки на сущности и экземпляры объектов службы.

Например, вы можете объявить код как

class MyService.class {
  // Note that this is not a static method
  public void doSomething() {....};
}

class MyServiceLocator implements ServiceLocator {
  public Object getInstance(Class<?> clazz) {
    // Or use Guice, Spring, whatever provides instances of MyService
    return new MyService();
  }
}    

interface MyRequestFactory extends RequestFactory {
  @Service(value=MyService.class, locator=MyServiceLocator.class)
  interface ServiceRequest extends RequestContext {
    Request<Void> doSomething();
  }
  ServiceRequest myService();
}

Если вам нужен еще больший контроль над тем, как RequestFactory взаимодействует с объектами домена вашего сервера или служебным кодом, вы можете внедрить экземпляры ServiceLayerDecorator в уровень обслуживания.

...