gwt -平台:业务逻辑应该去的地方



我刚刚掌握了GWTP和MVP, GIN和Dispatch。

对于分派,有一个Handler类,它定义动作做什么,并相应地返回一些东西。

到目前为止,我发现自己有一个情况下,我有2个行动,需要执行相同的方法。我认为ActionHandling不是业务逻辑去的地方,但它应该在它后面的一个层,以某种方式传递一些东西给它

我应该如何布局我的逻辑?顺便说一句,我想以后使用Hibernate。

编辑:

作为一个提示,应用在练习中提供的答案,需要做的是:

1。-创建一个扩展AbstractModule的模块类,它包含

bind(Service.class).to(ServiceImpl.class);

2。-在你的GuiceServletcontextListener中添加你的serviceModule到getInjector方法return:

return Guice.createInjector(new ServerModule(), new DispatchServletModule(), new ServiceModule());

3。-在你的actionHandlers构造函数有这样的东西

@Inject
  TestHandler(Service service) { this.service=service }

业务逻辑应该在您的业务对象中,它独立于您的Handler类。尝试以与技术无关的方式设计业务层。处理程序将所有重要的处理委托给业务对象,因此它们(处理程序)实际上应该非常精简。

您可以尝试将服务层注入到处理程序中。该服务可以作为单例创建。

@Inject
public MyHandler(MyService service) {
  this.service = service;
}

MyService是一个接口吗?如果是,你忘记在Guice中绑定它了。

我个人使用dao将我的逻辑放在ActionHandlers和我的持久化框架(hybrid, Objectify, Twig-Persist等)之间

最新更新