簡體   English   中英

DAOManager-應該在這里還是在特定的DAO類中完成對象驗證?

[英]DAOManager - should object validation be done here or in the specific DAO classes?

我有一個帶有DAOManager的類設置,並且為需要交互的表提供了單獨的DAO類。 當我想從數據庫中插入或刪除對象時,有必要驗證對象。 是否應該在DAOManager類或特定DAO類的相應方法中驗證對象? 當然也可以在調用DAOManager之前驗證對象。 哪個選項最好?

public class DAOManager {
  public void insertIntoTable(Object obj) {
    //Validate here? 
    exampleDAO.insert(Object obj);
  }
}

public class ExampleDAO() {
  public void insert(Object obj) {
    //Or validate here?

    //Insert logic... 
  }
}

我會選擇使用方法validateOnInsert(),validateOnDelete(),創建抽象類“ ObjectValidation”的選項。

如果您只需要為DAO進行驗證,則所有的單個DAO都應實現該類並將特定的邏輯添加到驗證中,請返回true並繼續執行Manager流程。

public class ExampleDAO() extends DAOValidation{
    public void insert(Object obj) {
         if(validationOnInsert(obj)){...}
    }
    public boolean validateOnInsert(Object obj) {
         //your validation here
    }
    public boolean validateOnDelete(Object obj) {
         //your validation here
    }
}

也許不同的人有不同的解決方法,但是我認為DAO是應該了解該類本身的所有業務邏輯的類,管理者應該充當向DAO提出行動的發行人

暫無
暫無

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

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