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 :

Question architecture Spring


Sujet :

Spring Java

  1. #1
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut Question architecture Spring
    Bonjour,

    Je débute sous spring, j'ai commencé un premier projet real-world avec ICefaces, Spring et Hibernate.
    Comme indiqué dans les différents bouquins que j'ai lu, je crée des bean DAO accompagnées de leur interface, ok pas de problèmes.

    Cependant je vais passer à la couche business sous peu, et je me demande s'il est vraiment judicieux de créer à chaque fois une classe service juste pour avoir de l'abstraction.

    Je m'explique, j'ai des méthodes parlantes dans ma DAO telles que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class GenresDao ...
    {
       List<Genre> getAvailableGenres()
       {
            //hibernate query...
       }
    }
    Cette méthode est en elle-même suffisamment parlante et j'ai du mal à me résoudre à faire une couche service par devant qui se résumerait à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class GenresService ...
    {
        List<Genre> getAvailableGenres()
        {
             return genreDao.getAvailableGenres();
        }
    }
    sans aucune valeur ajoutée...

    Qu'en pensez-vous, vaut-il la peine de rajouter des couches superficielles juste pour avoir de l'abstraction dans un cas comme celui là ou devrais-je injecter mon bean DAO directement dans les pages JSF quand il s'agit d'opérations simples?

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    C'est plus propre ... et ca permet par example de ne pas modifier l'interation entre les managed bean et les service si par exemple tu devrais consommer des web services à la place d'accéder à des dao

    et comme tu fais du business delegate tu n as cas ajouter ta variable objetDao et faire un click droit generate delegate ...

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 962
    Par défaut
    Citation Envoyé par *alexandre* Voir le message
    C'est plus propre ... et ca permet par example de ne pas modifier l'interation entre les managed bean et les service si par exemple tu devrais consommer des web services à la place d'accéder à des dao

    et comme tu fais du business delegate tu n as cas ajouter ta variable objetDao et faire un click droit generate delegate ...
    +

    c'est la couche Service qui devrait être transactionnelle et pas la couche DAO…

  4. #4
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Merci à vous deux.

    -Quelle est cette option de génération de délégué? Je ne vois aucun équivalent sous netbeans 6.5....

    -jeitEmgie : veux-tu dire que les annotations telles que "Transactionnal" (qui sont la raison majeure de mon intérêt pour spring) devrait se situer dans les beans business plutot que dans les beans DAO?

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 962
    Par défaut
    Citation Envoyé par _skip Voir le message
    -jeitEmgie : veux-tu dire que les annotations telles que "Transactionnal" (qui sont la raison majeure de mon intérêt pour spring) devrait se situer dans les beans business plutot que dans les beans DAO?
    oui

  6. #6
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Alors ca c'est effectivement un truc que je faisais faux...

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 962
    Par défaut
    Citation Envoyé par _skip Voir le message
    Alors ca c'est effectivement un truc que je faisais faux...
    "faux"… est peut-être un grand mot…

    on peut toujours trouver des exceptions qui justifient de mettre la transaction sur une méthode du DAO…

    mais en général la mettre au niveau Service permet de mieux réutiliser les méthodes DAO comme des buildings blocks relativement indépendants…

  8. #8
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    En tout cas je te remercie.
    Surtout en ce moment car étant nouveau sur le dév J2EE, nouveau sur JSF, nouveau sur Hibernate et nouveau sur Spring, j'essuie pas mal de plâtres et en plus, je n'ai jamais la certitude d'être dans le juste...

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    Citation Envoyé par _skip Voir le message
    Merci à vous deux.

    -Quelle est cette option de génération de délégué? Je ne vois aucun équivalent sous netbeans 6.5....

    -jeitEmgie : veux-tu dire que les annotations telles que "Transactionnal" (qui sont la raison majeure de mon intérêt pour spring) devrait se situer dans les beans business plutot que dans les beans DAO?
    juste par conviction c'est le mal d'utilisé netbeans ...

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par JeitEmgie Voir le message
    mais en général la mettre au niveau Service permet de mieux réutiliser les méthodes DAO comme des buildings blocks relativement indépendants…
    +1
    Bien qu'on puisse voir les DAO comme une forme de Service...
    C'est surtout au niveau des CRUD que je suis d'accord...

    Citation Envoyé par *alexandre* Voir le message
    juste par conviction c'est le mal d'utilisé netbeans ...
    Ça va faire bondir les adeptes
    (mais je suis bien d'accord )
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Question architecture Oracle 9i
    Par sebastien00 dans le forum Approche théorique du décisionnel
    Réponses: 1
    Dernier message: 29/04/2008, 10h53
  2. Question logging Spring
    Par LCH92 dans le forum Logging
    Réponses: 2
    Dernier message: 09/01/2008, 13h56
  3. Question architecture ?
    Par nono44200 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 30/07/2007, 11h21
  4. [SQL Server 2005] question architecture
    Par phil89 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/06/2007, 09h26
  5. question : architecture en couches
    Par Spacy_green dans le forum Développement
    Réponses: 10
    Dernier message: 25/05/2006, 18h08

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