IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Quel archi pour les objets métiers (modèle de domaine)


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Points : 38
    Points
    38
    Par défaut Quel archi pour les objets métiers (modèle de domaine)
    Bonjour,

    J'ai une question à la fois simple et compliquée. Je m'explique ...

    J'utilise Ibatis comme framework de mapping relationnel dans une architecture en 5 couches dont une réservée au modèle de domaine.

    J'ai besoin d'ajouter des méthodes de types Accesseurs qui vont "décorer" certains attributs de mon objet métier.

    Je ne veux pas que ces méthodes se trouvent dans l'objet métier.

    Comment faire ? Etendre mon décorateur de mon objet métier avec les méthodes "utilitaires" ? Si oui çà implique gérer des décorateurs dans ibatis et non plus des objets métiers purs ...

    Pouvez vous m'éclairer ???


  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Mettre un accesseur dans un objet métier pour toute autre couche que la couche métier n'est pas du tout une décoration, c'est un scandale !

    ... cependant, qu'est-ce qui t'empêche de le faire ? Soit une décoration au sens classique, soit une classe fille... où est le problème ? Je pense que les considérations à la mode IOC, et Spring avec ses aspects pourraient t'aider ?
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Points : 38
    Points
    38
    Par défaut
    Merci de ta réponse ...

    Je suis bien d'accord avec toi sur le fait de ne pas rajouter d'accesseurs supplémentaires dans un objet métiers.

    Effectivement j'optais plus pour un héritage ... une classe avec mes différents accesseurs qui étendrait de mon objet métier ...
    La seule chose qui me dérange en fait dans ce principe c'est le fait de manipuler un tel objet dans toutes les couches ....

    On est bien d'accord que dans la couche persistance, je vais utiliser l'objet qui étend de mon objet métier; le mapping objet se fera sur cet objet ...

    Pour moi ces accesseurs seraient purement liés à la couche présentation, voir la couche services ... et n'ont rien à faire dans la couche de plus bas niveau ... Peut-être que je me trompe ...

    Comment faire avec Spring ... ?

    Merci !!

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Que ce soit avec Spring comme avec le reste il n'y a pas de solution toute faite. La solution que tu choisiras comportera des forces et des faiblesses, et tu feras mieux la prochaine fois, c'est ainsi.

    S'il y a des services à rendre dans la couche présentation qui ne sont pas du métier, alors il me semble que le mieux est de créer une classe de présentation qui a en attribut l'objet métier, et qui rend le service à partir de lui. L'héritage peut fonctionner, si c'est la couche présentation qui crée l'objet métier. Mais c'est souvent la couche DAO qui le crée, auquel cas tu es coincé.

    Une bonne approche aussi est d'éviter de parler comme un informaticien : quels sont ces services qui sont de la couche présentation sans être de la couche métier, exprimés dans le langage de la couche Ah Ben Ça C'est Sûr ?
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Points : 38
    Points
    38
    Par défaut
    Mais c'est souvent la couche DAO qui le crée, auquel cas tu es coincé.
    Oui c'est tout à fait le cas. C'est Ibatis qui construit les objets métiers ... Pour conserver mon dialecte d'informaticien , les objets métiers représentent une couche transverse qui est le modèle de domaine. Les objets métiers sont accessibles depuis la couche Présentation, de Service ou les DAO.

    Je vais donc définir des objets que j'appellerai des "beans decorator" qui ne contiendront que mes accesseurs dits "utilitaires". Ces beans decorator hériteront des objets métiers.
    Ibatis fera le mapping directement sur ces beans decorator et ce sont ces objets qui seront manipulés dans toute l'application et non les objets métiers directement ...

    Je trouve çà bizarre d'avoir des accesseurs supplémentaires dans la couche de persistence mais je ne vois pas comment faire autrement ...

    Biensur je pourrai "decorer" mon objet métier direcetment dans ma couche présentation mais cela signifie travailler avec deux instances .... pas bon ...

    Thanks !


Discussions similaires

  1. [DAO] Quel code dans les objets métier ?
    Par Gaetch dans le forum Design Patterns
    Réponses: 10
    Dernier message: 20/10/2011, 14h38
  2. Quel avenir pour les informaticiens ?
    Par ghita269 dans le forum Emploi
    Réponses: 25
    Dernier message: 09/12/2005, 09h21
  3. Architecture pour les objets d'un jeu
    Par Freakazoid dans le forum DirectX
    Réponses: 7
    Dernier message: 31/07/2004, 13h09
  4. Quel avenir pour les outils de génération de code ?
    Par Bruno75 dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 05/11/2003, 18h30
  5. Quel Outil pour les applis Industrielles ET bases de données
    Par ThierryAIM dans le forum Débats sur le développement - Le Best Of
    Réponses: 8
    Dernier message: 23/04/2003, 09h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo