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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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

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

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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 ?

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Personellement je passerai plutôt par une recopie des objets métier

  4. #4
    Membre éclairé
    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
    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 émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    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

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

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    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é...

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