簡體   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