[英]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.