Précédent   Forum du club des développeurs et IT Pro > Général Développement > ALM > Architecture
Architecture Forum d'entraide sur les choix d'architectures logicielles, de patterns architecturaux, ainsi que la gouvernance des Systèmes d'Information (Urbanisation, Interopérabilité, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/05/2012, 13h06   #1
Altenide
Membre habitué
 
Avatar de Altenide
 
Homme Olivier Guillou
Formateur en technologies web
Inscription : décembre 2008
Messages : 123
Détails du profil
Informations personnelles :
Nom : Homme Olivier Guillou
Âge : 41
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Formateur en technologies web
Secteur : Enseignement

Informations forums :
Inscription : décembre 2008
Messages : 123
Points : 144
Points : 144
Par défaut Domain service ?

Bonjour,

Comment définiriez vous ce qu'est le domain service au sein d'une application mvc (par exemple jee). Pour ma part je m'en sert comme couche intermédiaire pour découpler ma couche Controller et ma couche Model. quelque chose du type Controller s'adresse a domain service pour obtenir implémentation des DAO. Qu'en pensez vous ?
__________________
Tutoriels Struts 2
Altenide est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2012, 11h09   #2
Luckyluke34
Membre éprouvé
 
Inscription : janvier 2011
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 155
Points : 407
Points : 407
Bonjour,

Je connais la notion de Domain Service telle que définie dans Domain Driven Design. Il s'agit d'un service qui réside dans la couche Domaine (= business) et fournit des opérations transversales à plusieurs entités métier ou qui ne semblent avoir leur place dans aucune entité.

Exemple : transférerFonds() n'a pas vraiment sa place dans l'entité CompteBancaire car cela voudrait dire que le compte bancaire source va devoir manipuler le solde du compte bancaire de destination, ce qui n'est pas forcément élégant. On peut alors créer un ServiceTransfertFonds dans la couche domaine avec une méthode transférerFonds(CompteBancaire source, CompteBancaire destination, montant).

Pour revenir au problème d'origine, effectivement, certains utilisent aussi des Domain Services pour servir de couche intermédiaire entre Contrôleur et DAO (Repositories en langage DDD). Par contre il ne s'agit pas juste d'un "DAOLocator" qui va balancer le DAO adéquat au Contrôleur. Ce type de Domain Service va carrément implémenter les mêmes méthodes que celles du DAO, c'est en fait un passe-plat ou une façade entre Contrôleur et DAO. C'est aussi l'endroit où au passage on peut faire la conversion entre objets métier et DTO si on n'a pas envie que le Contrôleur manipule des objets métier purs.

Il faut quand même noter qu'il y a discussion autour du fait qu'il est bon que le contrôleur accède directement aux DAO ou non. Personnellement ça ne me choque pas qu'il le fasse, surtout dans les applis modérément complexes.

Cf http://stackoverflow.com/questions/3...the-controller
http://stackoverflow.com/questions/8...ories-directly
Luckyluke34 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/05/2012, 17h20   #3
Altenide
Membre habitué
 
Avatar de Altenide
 
Homme Olivier Guillou
Formateur en technologies web
Inscription : décembre 2008
Messages : 123
Détails du profil
Informations personnelles :
Nom : Homme Olivier Guillou
Âge : 41
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Formateur en technologies web
Secteur : Enseignement

Informations forums :
Inscription : décembre 2008
Messages : 123
Points : 144
Points : 144
merci pour votre éclaircissement.
__________________
Tutoriels Struts 2
Altenide est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h01.


 
 
 
 
Partenaires

Hébergement Web