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 Web Java Discussion :

[Spring MVC] Architecture des controlleurs avec SpringMvc : un avis ?


Sujet :

Spring Web 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 [Spring MVC] Architecture des controlleurs avec SpringMvc : un avis ?
    Bonjour,
    Je viens demander l'avis des membres de DVP pour un projet que je réalise :
    Il s'agit d'un site Web utilisant Spring MVC et Hibernate. J'ai terminé la partie Hibernate et je m'attaques à la partie Spring
    J'ai déjà fait le tutoriel suivant qui m'a donnée une bonne idée des capacités et limites de l'outil : http://www.springframework.org/docs/...-step-by-step/

    Mon problème est que je ne vois pas comment découper mon application Web (pour les controlleurs), je sais que je dois avoir une fonction de recherche, une page pour les contacts, un page d'accueil, une liste de produits vedette, etc. Bref les fonctions classiques d'un site informatif. Mais comment organiser mes controlleurs ???
    - Un controlleur pour la recherche, un pour l'accueil, etc.
    - Un controlleur pour les entrées utilisateurs et un pour les outputs (j'en doute...)
    ...

    Excusez mon ignorance dans ce point, c'est la première fois que je travaille en MVC.

    Merci pour vos retours !

  2. #2
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Déjà, idéalement, il te manque une couche dans ton application, celles des services. Ce serait dommage de coder du service dans les contrôleurs.

    C'est sur celle-là qu'il faut d'abord réfléchir, quels sont les services que doit remplir ton appli, et quels sont les liens d'affinité que tu peux leur trouver selon un point de vue. C'est cette relation qui te guidera pour rassembler au sein d'une même classe les services.

    Ensuite tu mets en correspondance les contrôleurs et les services. En règle générale, les contrôleurs suivent une logique propre à la logique du site. Par exemple, la fonction recherche est en général une et unique page. Dans ce cas là, tu as un controlleur dédié à la recherche. Par contre, dans la réalisation, il peut s'appuyer sur plusieurs services ProduitService, UtilisateurService, etc. suivant l'objet recherché. La vue retournée peut également varier...

  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
    Merci beaucoup pour ta réponse.
    En effet, dans mon idée de départ c'était un controleur pour chaque service (ce n'est pas si évident à comprendre si je le dis pas ).
    Mais le même problème se pose pour la conception des services du site (qui sont déja établis) : est ce que je découpe horizontalement ou verticalement.
    Un exemple : disons que je propose une liste d'éditeurs de livres dans mon site, avec la possibilité de les trier, d'afficher les éditeurs d'un pays particulier, d'exporter la page au format PDF ou CSV. Deux choix s'offrent à moi :
    - Je créé un service "editeurs" avec toutes ces fonctionnalités à l'interieur (une classe avec une méthode par services).
    - Je créé un service "tri", un autre "affichage", un autre "exportation", etc. Ses services seront utilisés dans chaque fonctionnalité du site.

    Comment feriez vous ?

  4. #4
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Personnellement je regroupe par connexité métier et non fonctionnelle, à l'exception de quelques services comme la recherche avancée, la production de graphiques, etc... Et encore... c'est arbitraire comme choix.

    Ainsi, je verrais bien un service Editeur, pour les opérations crud. L'exportation a mon avis, c'est l'affaire du contrôleur pas du service (le modèle métier injecté dans la vue est le même).

Discussions similaires

  1. [Spring MVC] Gestion des messages
    Par Llaur76 dans le forum Spring Web
    Réponses: 1
    Dernier message: 22/08/2007, 10h08
  2. [Spring MVC] Enregistrement des valeurs des CheckBox
    Par Esil2008 dans le forum Spring Web
    Réponses: 1
    Dernier message: 02/08/2007, 17h17
  3. Réponses: 1
    Dernier message: 12/02/2007, 12h43
  4. [Spring MVC] Architecture MVC dans spring
    Par Alec6 dans le forum Spring Web
    Réponses: 4
    Dernier message: 11/10/2006, 12h35
  5. [Spring MVC] Récupérer des valeurs de formulaires sur n pages
    Par ran_hery dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/04/2006, 07h23

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