在使用多个注入的DAO时,最佳做法是什么?

时间:2013-09-11 14:09:28

标签: java spring gwt jpa guice

在我的脑海中,我正在考虑将服务器端任务编写为一项大服务,并在该服务中注入所有dao对象 - 如下所示:

public class MyServiceImpl extends RemoteServiceServlet implements MyService {
@Inject 
MyDAO1 myDAO1;
@Inject 
MyDAO2 myDAO2;
@Inject 
MyDAO3 myDAO3;

...
//20  methods
//
}

一种大型服务是可行的,还是有其他更好的模式吗?

1 个答案:

答案 0 :(得分:0)

您应该为每个“域”任务建立一个服务。例如,用户管理服务,其方法允许注册新用户,发送恢复密码电子邮件,暂时禁用用户,获取当前启用用户的列表等。

我建议你看一下Martin Fowler的Patterns of Enterprise Application Architecturehttp://martinfowler.com/books/eaa.html)所描述的ServiceLayer模式。

  

服务层定义应用程序的边界[Cockburn PloP]和   从接口的角度来看它的可用操作集   客户层。它封装了应用程序的业务逻辑,   控制交易和协调反应   实施其业务(http://martinfowler.com/eaaCatalog/serviceLayer.html