【发布时间】:2013-09-11 14:09:28
【问题描述】:
突然间,我正在考虑将我的服务器端任务编写为一项大服务,并在该服务中注入所有 dao 对象 - 如下所示:
public class MyServiceImpl extends RemoteServiceServlet implements MyService {
@Inject
MyDAO1 myDAO1;
@Inject
MyDAO2 myDAO2;
@Inject
MyDAO3 myDAO3;
...
//20 methods
//
}
是一个大服务要走的路还是有其他更好的模式?
【问题讨论】:
-
我认为这涵盖了它:stackoverflow.com/a/16234079/210445
-
@osh,不,一项大型服务不好,因为它违反了single responsibility principle。您本质上是在创建很难支持的上帝对象。您应该考虑一下您的服务器端层有哪些职责,然后您应该仔细地将这些职责分配给多个服务。