繁体   English   中英

从另一个服务调用服务vs dao

[英]call service vs dao from another service

我有用户和角色实体和服务,DAO层。 我需要来自UserService的角色列表。

我应该从UserService使用哪一层? RoleService与RoleDAO的调用列表方法? 哪一个是常用的,为什么?

通常DAO层接近数据库,服务层封装您的业务逻辑,执行任何事务或其他事情,而不仅仅是调用DAO。

调用另一项服务的服务更常见,因为

  1. 您的RoleService可以评估一些业务代码,您可以从事务中受益或通过JMS传递消息,或者您可以在将来对服务方法有一些安全性。 因此,分离问题是一种良好的做

  2. 易于模拟服务和测试(这可以说甚至可以测试DAO),但通过使用服务层接口分离业务逻辑是一种好方法。

但是如果你在服务层没有任何业务逻辑,你可以通过简单地使用DAO来避免冗余代码(但是对于未来,如果你考虑服务层业务,你将有重构代码债务)

RoleService调用list方法。

Roles周围的业务逻辑可能会改变一天,而RoleService所有更改都将对所有直接调用DAO的代码无效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM