Sto creando un oggetto di accesso ai dati per recuperare informazioni da Google App Engine per un'app Web costruita nel framework Spring (prima volta per tutte).Le migliori pratiche DAO (oggetto di accesso ai dati) - esempi che vedo utilizzare un DAO e un oggetto Servizi entrambi, qual è la migliore pratica qui?
Vedo un certo numero di esempi che utilizzano un controller/webapp -> Servizio -> DAO -> JDO/modello di motore dell'app Google.
In questo modello, il livello DAO è l'unico che conosce JDO, quindi questo livello è l'unico da sostituire se l'archivio dati è stato modificato. Il livello Servizi chiama il livello DAO e formatta/manipola i dati necessari.
La mia domanda è perché il livello di servizio aggiuntivo? Almeno all'inizio non sembra che il livello di servizio aggiunga molto all'equazione. Naturalmente penserei di scrivere solo un livello DAO per incapsulare le richieste JDO e manipolare e restituire i dati.
Qualcuno può mostrarmi il razionale per un livello di servizio separato, questo diventerà ovvio in quanto il progetto diventa più grande e più complesso?