首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

EJB 最佳實踐:資料驗證邏輯應放在哪一層?

     編輯:Java 相關知識

資料驗證是企業應用的必備環節,但常被誤解與誤用。本文依驗證類型劃分,給出分層放置的最佳策略。

驗證類型劃分

  1. 資料格式驗證:型別、長度、範圍、正則模式等純技術性檢核
  2. 業務規則驗證:庫存檢查、信用額度、跨實體一致性等領域邏輯

格式驗證 → 業務委派層

將驗證前置於委派類,最近客戶端,最低成本回饋錯誤:

public class LibraryDelegate implements ILibrary {
    public boolean checkout(List books) throws ApplicationException {
        // 格式驗證:確保清單皆為 Book 物件
        for (Object obj : books) {
            if (!(obj instanceof Book)) {
                throw new ApplicationException(VALIDATION_ERROR, 
                    "清單僅允許 Book 物件");
            }
        }
        return library.checkout(books); // 呼叫 EJB
    }
}

優勢:避免遠端呼叫開銷 (JNDI/RMI/事務),錯誤直接拋回 Web 層顯示。

業務驗證 → EJB 實作類

需存取其他 Bean/資料庫,放回 EJB 層利用本地呼叫優化:

  • Bean 間調用走 VM 內最佳化,極快
  • 已完成 JNDI 查找,無額外成本
  • 委派層已過濾格式錯誤,專注業務邏輯

分層策略總結

驗證類型建議位置核心理由
資料格式Business Delegate就近原則、低延遲回饋、避免遠端開銷
業務規則EJB Bean 實作需資料存取、利用本地呼叫、委派已過濾格式

下一篇將探討如何進一步將驗證從委派層剝離,實現可重用的驗證框架。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved