2016-03-29 12 views
0

私は、DAOManagerクラスとDAOクラスを別々に用意しています。 DBからオブジェクトを挿入または削除する場合は、オブジェクトを検証する必要があります。 DAOManagerクラスまたは特定のDAOクラスの対応するメソッドのオブジェクトを検証する必要がありますか?もちろん、DAOManagerが呼び出される前にオブジェクトを検証することも可能です。どのオプションが最適ですか?私は選択の方法validateOnInsert()、validateOnDelete()を抽象クラス「ObjectValidation」を作成するためのオプションを希望DAOManager - ここで、または特定のDAOクラスでオブジェクトの検証を行う必要がありますか?

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... 
    } 
} 

答えて

1

、...

すべてのあなたの単一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

関連する問題