2016-03-29 15 views
0

Bir DAOManager ve etkileşimde bulunmam gereken tablolar için ayrı DAO sınıfları olan bir sınıflar kümem var. Bir nesneyi DB'den eklemek veya silmek istediğimde, nesneleri doğrulamak gerekir. DAOManager sınıfındaki veya belirli DAO sınıflarındaki ilgili yöntemlerde nesneleri doğrulamalı mıyım? Tabii ki, DAOManager'ın çağrılmasından önce nesneleri doğrulamak da mümkündür. Hangi seçenek en iyisidir? Ben seçim yöntemi validateOnInsert(), validateOnDelete() ile soyut bir sınıf "ObjectValidation" oluşturma seçeneğini olurDAOManager - doğrulama işlemine burada veya belirli DAO sınıflarında yapılmalı mıdır?

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

cevap

1

...

hepsi senin tek DAO en o sınıfı uygulamak ve eklemek gerekir Doğrulama için belirli bir mantık, yalnızca DAO'nuz için bir doğrulama gerekmiyorsa, doğrudur ve Yönetici sürecine devam edin.

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

Muhtemelen farklı insanlar bunu çözmek için farklı bir yaklaşım var, ama ben DAO, Yöneticisi sadece eylemler sormak Distribütör olarak hareket etmelidir sınıfın kendisinin tüm iş mantığı hakkında bilmeniz gerekenler sınıf olduğunu düşünüyorum DAOs

İlgili konular