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

AWT/Swing Java Discussion :

JGoodies databinding et le développement en couche ?


Sujet :

AWT/Swing Java

  1. #1
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut JGoodies databinding et le développement en couche ?
    Bonjour,

    En scutant les exemples sur la mise en oeuvre du framework JGoodies databinding, je remarque que les objets du domaine doivent être éttendus d'une classe Model du framework.

    Cela veut donc dire que dans le cas d'un développement en couche, c'est les objets métiers qui doivent être éttendu de cette classe Model, car étant les objets du domaine ?

    Je m'y perd un peu, qqn aurait un peu d'expérience sur ce framework pour me remettre dans le droit chemin ?

    Merci
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  2. #2
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    En fait, pour reformuler ma question plus clairement,
    je me demandais si je devais appliquer le binding directement sur mes objets récupérés de ma couche métier (donc mes objets metier) ou s'il était plus préférable de faire une récopie de mes objets métiers dans ma couche de présentation (soit dans mon modèle)

    Personne n'utilise le databinding de JGoodies ?
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  3. #3
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Personellement je passerai plutôt par une recopie des objets métier
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    C'est très mauvais comme architecture d'étendre des objets métiers pour obtenir des responsabilités de l'ordre de la présentation.

    Normalement on produit un décorateur qui encapsule l'objet métier et le décorateur se trouve dans la couche présentation.

    Par exemple pour imprimer un formulaire, si tu as l'objet métier Form, et que tu veux le présenter sous forme PDF, ou Excel, ou impression ou export XML etc... Tu va produire une classe FormToPDF, FormToExcel etc... capable de lire l'objet Form, agrégation, et d'offrir l'interface nécessaire aux API (iText, POI, etc...)

    Je connais pas le framework data biding, c'est peut etre comme génésis, mais attention à toutes ces solutions magiques qui ne sont pas mures.

  5. #5
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    voila la réponse que je redoutais

    Qu'est ce que je vais gagner a faire de la recopie, mise à part ne de ne plus avoir ma couche métier couplée avec JGoodies ?
    Cela ne risque pas de compliquer encore plus la remonter de mes objets à ma couche de persistance ? (je présice que je fais déjà la distinction entre mes objets métiers et mes objets persistants)
    D'autant que je dev une appli desktop ou tout est éxécuter en local sur le même poste !

    Enfin je crois que je vais quand meme opter pour de la recopie, car ca soulegera le code de mes objets métiers.

    En tout cas merci pour cette réponse rapide
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    LA recopie sert à détacher ta métier de ta couche de présentation afin que toute la partie métier puisse être facilement réutilisée dans un autre cadre ou changement de techno, sinon en ce qui concerne le binding JGoodies il a déja prouvé son efficacité...
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Citation Envoyé par Alec6
    C'est très mauvais comme architecture d'étendre des objets métiers pour obtenir des responsabilités de l'ordre de la présentation.

    Normalement on produit un décorateur qui encapsule l'objet métier et le décorateur se trouve dans la couche présentation.

    Par exemple pour imprimer un formulaire, si tu as l'objet métier Form, et que tu veux le présenter sous forme PDF, ou Excel, ou impression ou export XML etc... Tu va produire une classe FormToPDF, FormToExcel etc... capable de lire l'objet Form, agrégation, et d'offrir l'interface nécessaire aux API (iText, POI, etc...)

    Je connais pas le framework data biding, c'est peut etre comme génésis, mais attention à toutes ces solutions magiques qui ne sont pas mures.
    C'est sur que qu'il vaut mieux plus de souplesse d'entrée de jeu, bien que mon appli, il n'y a pas de cas complexe comme tu donnes exemple. C'est majoritairement des opérations CRUD.

    Pour JGoodies databinding, je pense que la valeur est plutot sûr. Le framework fait ses preuves depuis un an et demi (avec très peu de correction entre temps). Karsten Lentzsch est a toutes les conférences Java officielles (SUN voit bien l'intéret et robustesse de cette technique) et il a meme été invité par SUN pour la prochaie spécification sur la databinding.
    Pour moi ca veut dire que la voie est libre , surtout quand on voit la valeur ajoutée qu'apporte un tel framework dans une application.

    Bon c'est parti pour faire de la recopie
    Merci à tous les deux
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  8. #8
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    J'ai souvent discuté avec Karsten de son data binding et je sais qu'il l'utilise en production depuis plusieurs années avec ses clients. Il m'a même dit à JavaZone la semaine dernière qu'ils considérait maintenant tous ses outils comme matures et très productifs. Bref... tu peux foncer
    Romain Guy
    Android - Mon livre - Mon blog

  9. #9
    Membre à l'essai
    Profil pro
    Dev
    Inscrit en
    Février 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Février 2005
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Au boulot, comme sur mon projet perso, j'utilise JGoodies binding et je le trouve très mature pour un projet de cette envergure.
    De plus, l'auteur est toujours très aimable quand on lui envoie des mails pour des questions.
    Pour ma part, j'ai ainsi :
    • des objets méties (jgoodies beans)
    • des objets de persistance (hibernate pojo beans)
    • des objets présentations

Discussions similaires

  1. Développement en couches et Lazy Loading
    Par korrigan dans le forum Architecture
    Réponses: 2
    Dernier message: 12/11/2009, 19h09
  2. Mieux comprendre le développement en couche
    Par rvzip64 dans le forum MVC
    Réponses: 2
    Dernier message: 26/06/2009, 08h34
  3. Visual studio et le développement en couche
    Par Gregs dans le forum Visual Studio
    Réponses: 2
    Dernier message: 27/03/2009, 13h03
  4. Développement en couches et Héritage
    Par PatStan17 dans le forum Architecture
    Réponses: 2
    Dernier message: 09/12/2008, 11h47
  5. [N-Tier] Guide pour développement en couche c#
    Par altair8080 dans le forum Autres
    Réponses: 0
    Dernier message: 12/11/2008, 12h56

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