Buondì,
Sto iniziando un piccolo progetto (con la scusa del quale mi sto studiando Spring) e sono fermo al seguente dilemma:
nel progetto si può accedere a dati presenti sia su un database locale sia su un database remoto attraverso opportuna interfaccia (non so se ws o rmi)
da ricordi e amori passati ho realizzato un'interfaccia Dao (generica) e una sua implementazione con Hibernate per l'accesso ai dati sul db locale. Ho realizzato un Service layer che usa il dao, e insomma grazie anche a spring il leyer service non ha idea della concezione di "database", ma come dice il pattern solo di "data access object"
Ora, visto il discorso "doppia sorgente di dati", pensavo di aggiungere un livello tra service e dao e metterci un repository, solo che a conti fatti mi sono venute in mente due domande:
1) l'interfaccia del repository e l'interfaccia del dao non verrebbero praticamente uguali rendendo quindi inutile aggiungere il repository?
2) Non conviene di più fare una implementazione corretta del Dao per l'accesso ai dati remoti?
Visto che tra i libri e i commenti su internet mi sembra che nella sostanza Repository e Dao siano lo stesso pattern, stò un pò fermo qui nel dubbio