我有用户和角色实体和服务,DAO图层。我需要来自UserService的角色列表。
我应该在UserService中使用哪个图层? RoleService vs RoleDAO 的调用列表方法?哪一个是常用的,为什么?
答案 0 :(得分:9)
通常DAO层靠近数据库,服务层封装你的业务逻辑,执行任何事务或其他事情,而不仅仅是调用DAO。
服务呼叫另一项服务更常见,因为
您的RoleService可以评估一些业务代码,您可以从事务中受益或通过JMS传递消息,或者您可以在将来对服务方法有一些安全性。因此,分离问题是一种良好的做
易于模拟服务和测试(甚至可以证明DAO可以被测试),但通过使用服务层接口分离业务逻辑是一种好方法。
但是如果你在服务层没有任何业务逻辑,你可以通过简单地使用DAO来避免冗余代码(但是如果考虑服务层业务,将来你将有重构代码债务)
答案 1 :(得分:2)
在RoleService
。
Roles周围的业务逻辑可能会改变一天,而RoleService
中的所有更改都将对所有直接调用DAO的代码无效。