服务层对象可以“服务”DAO层对象吗?或者这是否违反了正确分层架构的完整性?
如,
class MyService {
}
class MyDao {
private MyService myService;
}
答案 0 :(得分:3)
我不会这样做。 DAO应该处理数据库;服务管理其他服务和DAO以完成其用例。让服务调用DAO和所需的任何其他服务会更好。
您可能会因此安排存在循环依赖性。
答案 1 :(得分:0)
使用DAO对象构造服务的标准方法是让服务封装DAO。
public class Service {
private DAO dao;
}
public class DAO {}
这有助于例如让服务封装多个DAO对象,或者在服务中提供诸如事务划分之类的附加逻辑。