在我的脑海中,我正在考虑将服务器端任务编写为一项大服务,并在该服务中注入所有dao对象 - 如下所示:
public class MyServiceImpl extends RemoteServiceServlet implements MyService {
@Inject
MyDAO1 myDAO1;
@Inject
MyDAO2 myDAO2;
@Inject
MyDAO3 myDAO3;
...
//20 methods
//
}
一种大型服务是可行的,还是有其他更好的模式吗?
答案 0 :(得分:0)
您应该为每个“域”任务建立一个服务。例如,用户管理服务,其方法允许注册新用户,发送恢复密码电子邮件,暂时禁用用户,获取当前启用用户的列表等。
我建议你看一下Martin Fowler的Patterns of Enterprise Application Architecture
(http://martinfowler.com/books/eaa.html)所描述的ServiceLayer模式。
服务层定义应用程序的边界[Cockburn PloP]和 从接口的角度来看它的可用操作集 客户层。它封装了应用程序的业务逻辑, 控制交易和协调反应 实施其业务(http://martinfowler.com/eaaCatalog/serviceLayer.html)