Hibernate et Spring - Dao ,Services

J'ai lu quelques tutoriels et j'ai pu voir que la plupart de la MVC implémentations

sont basées sur:

1) une interface dao par exemple "IUserDao"

2) un dao impl de cette interface - "mySimpleUserDaoImpl"

3) une interface de service de persistance : "IUserService"

4) et une impl - "UserServiceImpl"

est-ce la meilleure pratique? je veux dire la raison pour laquelle je pose cette question c'est parce qu'il semble superflu d'avoir 30 services avec getXById(), deleteX(x), createX(x) des méthodes qui font plus ou moins la même.

veuillez prendre en compte que je suis en utilisant le printemps 3 et hibernate 4, et j'ai décidé que je vais poser cette question avant de commencer à en claquant mon clavier avec le code

grâce.

Vous pouvez déposer le I préfixe pour les interfaces. L'utilisateur ne devrait pas être conscients, c'est d'obtenir une interface. Appelez UserDAO et UserService.
Accepté, de supprimer la je sur les interfaces. Personnellement, j'appelle mes classes Dao Référentiels juste pour le garder en ligne avec le Printemps, les Annotations, mais il n'a pas d'importance.
des tutoriels pour une technologie habituellement ne sont pas concernés par la logique d'entreprise de sorte qu'ils ne sont pas de bonnes références. il y a une question similaire qui pourraient vous être utiles, à stackoverflow.com/q/3688664/217324
Une autre chose à noter à propos de la couche de Service est c'est où votre @Transaction devrait commencer. Donc, si vous voulez annuler une transaction entre plusieurs référentiels le niveau de service est où vous le faites. C'est pourquoi, le Service devrait être l'Un-à-Plusieurs avec des Dépôts.

OriginalL'auteur Urbanleg | 2013-05-14