我刚刚掌握了GWTP和MVP,杜松子酒和调度。
对于dispatch,有一个Handler类,它定义操作做什么并相应地返回一些东西。
到目前为止,我发现自己有两个动作需要执行相同的方法。为此,我认为ActionHandling不是业务逻辑所在的地方,而是应该放在它后面的一层中,以某种方式传递一些东西给它
我应该如何布局我的逻辑?我想稍后在btw上使用Hibernate。
编辑:
需要注意的是,应用实践中提供的答案,需要做的是:
1.-创建一个扩展AbstractModule的模块类,它包含
bind(Service.class).to(ServiceImpl.class);2.-在你的GuiceServletcontextListener上,将你的serviceModule添加到getInjector方法返回中:
return Guice.createInjector(new ServerModule(), new DispatchServletModule(), new ServiceModule());3.-在你的actionHandlers构造器上有类似这样的东西
@Inject
TestHandler(Service service) { this.service=service }发布于 2011-09-28 13:23:46
MyService是一个接口吗?如果是,则忘记在Guice中绑定它。
个人而言,我使用DAO将我的逻辑放在ActionHandlers和我的持久化框架(Hybernate、Objectify、Twig- persistence等)之间。
发布于 2011-09-27 16:21:51
业务逻辑应该在独立于Handler类的业务对象中。尝试以一种与技术无关的方式设计业务层。处理程序将所有重要的处理委托给业务对象,因此它们(处理程序)实际上应该非常简单。
发布于 2011-09-27 22:30:36
您可以尝试将服务层注入处理程序。可以将服务创建为单例。
@Inject
public MyHandler(MyService service) {
this.service = service;
}https://stackoverflow.com/questions/7565930
复制相似问题