Normalmente il livello DAO è vicino al database, livello di servizio incapsula la logica aziendale, esegue transazioni o altre cose invece di chiamare DAO.
servizio chiamando un altro servizio è più comune perché
tuo RoleService può avere un certo codice di business valutato, si può beneficiare di transazioni o messaggi che passano tramite JMS o si può avere una certa sicurezza su metodi di servizio in futuro. Quindi separare le preoccupazioni è una buona pratica.
Facile da simulare i servizi e test (questo può essere sostenuto anche DAO può essere testato), ma separare la logica di business è un buon modo utilizzando le interfacce del livello di servizio.
Ma se tu non abbia alcuna logica di business a livello di servizio, si può evitare di codice ridondante, semplicemente utilizzando DAO (ma per il futuro si avrà un debito di codice per il refactoring se si pensa di servizio di business layer)
fonte
2015-08-17 12:07:39
Sì, ho pensato prima allo stesso modo. Ma Service chiamava DAO e ho pensato che fosse una buona idea (potrebbero esserci dei motivi) chiamare DAO solo dal livello di servizio perché il livello di servizio è usato per chiamare dao. I servizi di chiamata di servizi – Erlan
sono assolutamente soddisfacenti – cahen