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

Spring Java Discussion :

[débutant] Meilleures pratiques pour la couche d'accès aux données


Sujet :

Spring Java

  1. #1
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut [débutant] Meilleures pratiques pour la couche d'accès aux données
    Bonjour à tous,
    J'ai a développer une application Web en utilisant Spring. J'ai suivi l'exellent tuto du site officiel : http://www.springframework.org/docs/...tep/index.html et je me pose des questions quand à la mise en pratique de ce que j'ai appris :
    - Je vais commencer par développer la couche d'accès aux données suivant le pattern DAO, comme j'ai beaucoup d'objets métier, je voudrais créer une interface d'accès aux données par objet et avoir une implémentation par objet. En même temps je voudrais avoir un point d'entrée unique pour accéder aux données...
    Je ne sais pas trop ou chercher mais ma question est : est ce que ça peut se faire par un fichier de configuration : mapper un bean avec un ensemble d'autres beans et accéder aux méthodes des beans via le "bean pricipal".

    Je ne sais pas si c'est assez clair mais merci à l'avance pour vos conseils

  2. #2
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Points : 231
    Points
    231
    Par défaut
    salut,
    tu peux jeter un coup d'oeil sur le tutorial de Tahé sur le même site, il décrit un exemple facile de découpage de couche (web, service, Dao).
    Tu peux relier ta couche d'accés au données avec une autre couche (en principe ça devra être la couche service) dans un fichier de configuration Spring applicationContext.xml si je me trompe pas. Tu pourras relier donc chaque service avec son implémentation concréte dans la couche Dao. L'utilisation d'interface dans la couche service est aussi très recommander .
    bonne chance

  3. #3
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Salut, Merci pour ta réponse,
    J'ai déjà parcouru les tuto de Monsieur Tahe, mais les tuto traitent, eux aussi, d'une seule classe à persister (Personne). Dans mon cas, j'aimerais savoir comment modéliser une vrai couche d'accès aux données avec plusieurs entités (classes) et comment les mapper avec la couche service avec un seul point d'entrée.

  4. #4
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Points : 6 301
    Points
    6 301
    Par défaut
    Pourquoi vouloir un seul point d'entrée ( une "facade" ) pour les différents Dao ?

    Il est plus clair d'avoir accès directement au Dao à partir de la couche service, c'est elle qui va s'occupe de faire cette "facade" en faisant appel au différent Dao quand cela est nécessaire.

  5. #5
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Pour réutiliser la couche d'accès aux données...
    La je travaille sur une appli Web, mais après cela je vais devoir développer une autre application avec une couche service différente. Donc je me suis dit que c'était plus pratique d'avoir un seul point d'entrée pour la couche d'accès aux données.
    En même temps je suis nouveau j'ai peut être une fausse vision de ce qui doit se faire, des bonnes pratiques.

    D'habitude, comment faites vous pour présenter la couche données à la couche service : plusieurs interfaces ou une seule ?

  6. #6
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Points : 6 301
    Points
    6 301
    Par défaut
    En générale, j'ai une interface par dao.

    Et si la couche service à besoin de plusieurs Dao, elle possède donc plusieurs référence, une par dao.


    Mais bon, c'est ma manière, je ne sais pas si c'est forcement la meilleure.

  7. #7
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour,
    Citation Envoyé par ygrim Voir le message
    Pour réutiliser la couche d'accès aux données...
    La je travaille sur une appli Web, mais après cela je vais devoir développer une autre application avec une couche service différente. Donc je me suis dit que c'était plus pratique d'avoir un seul point d'entrée pour la couche d'accès aux données.
    En même temps je suis nouveau j'ai peut être une fausse vision de ce qui doit se faire, des bonnes pratiques.
    Euh ... Je ne voies pas en quoi réaliser un point d'entreé commun (si c'est faisable) aide à la réutilisation ...
    à l'inverse, l'atomicité elle permet de réutiliser plus facilement.

    Citation Envoyé par ygrim Voir le message
    D'habitude, comment faites vous pour présenter la couche données à la couche service : plusieurs interfaces ou une seule ?
    Person; je déclare une interface générique et une implémentation abstraite dans laquelle je mets le max possible (ce qui est presque tout pour JPA, et près de 50% pour JDBC).
    Après, pour chaque entité, je crée une implémentation concrète.

    J'indique ensuite à Spring d'injecter les DAOs dont j'ai besoin dans les classes de la couche service (parfois même dans la couche contrôle si je veux faire vite )

  8. #8
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Ok, merci pour vos façons de faire,
    Je pense utiliser celle de djo.mos. Les classes abstraites sont effectivement très utiles dans ce cas.

    Merci beaucoup

Discussions similaires

  1. Meilleures pratique pour les droits d'accès
    Par Polakk6 dans le forum Sécurité
    Réponses: 3
    Dernier message: 26/12/2013, 18h11
  2. Réponses: 5
    Dernier message: 29/05/2011, 10h50
  3. Créer une couche d'accès aux données
    Par le_viking dans le forum Débuter
    Réponses: 10
    Dernier message: 01/12/2010, 19h27
  4. séparation vue et couche d'accès aux données
    Par papaetoo dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 15/06/2009, 10h33
  5. Comment tester une couche d'accès aux données
    Par ygrim dans le forum Persistance des données
    Réponses: 3
    Dernier message: 26/02/2008, 17h30

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