簡體   English   中英

應該在哪里進行業務驗證

[英]Where should business validation to be done

假設架構是這樣的

  1. Struts框架或球衣資源
  2. 外牆層
  3. 業務層
  4. 數據訪問對象層DAO

盡管輸入字段驗證將在表示層即Struts Action類或jersey資源類中完成

但是我的問題是,應該在哪里進行業務級別驗證,並將相同的結果傳遞給UI。

即假設資源是

employee / {employeeId}方法DELETE

現在,首先需要驗證employeeId是否存在,因此對於驗證應該在資源級別,外觀級別或業務級別進行,並且最好將其作為最佳實踐。

還請注意,此業務驗證需要DAO層訪問權限,因為要檢查DB中EmployeeId是否確實存在。

提前致謝

針對您所要詢問的方法有很多論據。 我更喜歡將驗證留給業務層,而讓上面的服務層或多或少地只處理路由和錯誤報告。 祝好運!

取決於您選擇的體系結構和框架。

例如:如果您有一個數據庫但有一個服務器場,則“驗證”應該更靠近數據庫。 如果可以在DAO中鎖定/解鎖數據庫,則應在驗證之前首先鎖定員工行。

另外還取決於配置:

  • 如果使用樂觀鎖定或悲觀鎖定。
  • 如果實體上有@version字段。
  • 還有很多

我建議您在dao層編寫與邏輯相關的數據庫訪問,該訪問將結果返回到服務層,並返回到Action類。 並且您應該在您的動作課程中對其進行驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM