Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Discussion: Domain service ?

  1. #1
    Membre actif Avatar de Altenide
    Homme Profil pro Olivier Guillou
    Formateur en technologies web
    Inscrit en
    décembre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Guillou
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : décembre 2008
    Messages : 126
    Points : 150
    Points
    150

    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 ?

  2. #2
    Membre chevronné
    Inscrit en
    janvier 2011
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : janvier 2011
    Messages : 231
    Points : 665
    Points
    665

    Par défaut

    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

  3. #3
    Membre actif Avatar de Altenide
    Homme Profil pro Olivier Guillou
    Formateur en technologies web
    Inscrit en
    décembre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Guillou
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : décembre 2008
    Messages : 126
    Points : 150
    Points
    150

    Par défaut

    merci pour votre éclaircissement.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •