Salut, C'est marrant car en ce moment je suis en train d'�tudier les avantages / inconv�nients d'utiliser Struts ou un framework MVC plus simple que l'on nous a pr�sent�. Pour ce qui est des bonnes pratiques, � la fin du "Users guide" de struts il y a une rubrique Resources assez fournie. Personnellement je te conseille pour commencer le site de Ted Husted (www.husted.com/struts) qui est assez complet.
Voici mon point de vue : > - la pr�f�rence de la logique d�clarative (plutot que programmative) dans > un fichier de configuration XML (donc perte de temps �vidente lors des > phases de compilation, tests,...) L'avantage que je vois � cette solution c'est de d�finir dans le fichier xml la logique macroscopique de l'application (de la page a je peux aller vers la page b ou la page c). Quand � la logique plus pr�cise (pourquoi est ce que je passe de a vers b, sous quelle condition) elle est contenue dans les classes Action. Ce qui est bien c'est que le fichier de config peut normalement �tre d�fini d�s que l'on a sp�cifi� les �crans et leurs encha�nements. Je ne sais pas si le d�claratif est plus lent que le programmatif mais en tous cas �a permet de pouvoir modifier les encha�nements sans recompilation (m�me si je ne sais pas si cela est tr�s fr�quent). En tous cas, cela supprime toute r�f�rence explicite aux jsps depuis le code. De plus des outils tels que StrutsConsole permettent de g�rer plus facilement le fichier de configuration. > - la multiplication de classes 'Action' unitaires > - un couplage fort entre une action et une page JSP, qui oblige � d�finir > autant de mappings qu'il y a de liens entre les pages JSP C'est vrai que moi aussi j'ai l'impression que sur une grosse application il va y avoir un foisonnement de classes Action. Cependant, il existe un attribut "parameter" qui doit permettre de faire g�rer plusieurs actions similaires par une m�me classe (par exemple consulter/modfiier/cr�er). Un autre probl�me que l'on m'a soulev� concerne l'utilisation de pages jsp composites : Si par exemple j'ai une page A qui est compos� de trois pages composites 1, 2 et 3 et une page B qui est compos� de 1, 2 et 4 j'aurais aim� pouvoir cr�er 4 objets ActionForm (Form1, Form2, Form3 et Form4 et pouvoir r�cup�rer dans ma classe Action associ�e � ma page principale l'ensemble des objets associ�s aux 3 sous pages. Cela semble difficile m�me si je pense que l'on peut s'en sortir � l'aide des "Nested properties" mais je n'ai pas fait l'essai. D'ailleurs ces deux interrogations se rejoignent en une seule je pense : n'y a t'il pas un danger de dupliquer du code similaire en utilisant des classes unitaires, un morceau de code commun � plusieurs actions peut il �tre factoris� facilement ? > > Le concept MVC ou MVC2 est-il r�ellement appropri� au monde du web > (JSP/Servlet) dans le sens ou il y a bien souvent un couplage fort (1-1) > entre le controleur (classe Action) et la vue ? > La complexit� (mulitplication des classes, des fichiers de ressouces et de > configuration,...) engendr�e par l'utilisation de tels frameworks est-elle > r�ellement viable et utile pour permettre une meilleure maintenabilit� ? > Je pense que le concept est bien adapt� surtout lorsque l'on a une application qui met en jeu un worflow avec plusieurs intervenants : une m�me page jsp peut servir � plusieurs intervenants qui pourront faire dessus des actions diff�rentes. Le d�faut que je trouve pour l'instant � Struts c'est l'absence de notion de composants. Une page jsp est souvent un agr�gat d'autres pages. Il serait int�ressant de pouvoir d�finir des composants de pages qui sont utilis�s � plusieurs endroits et de pouvoir ensuite d�finir l'agr�gation de ces composants. D'un point de vue graphique c'est d�j� plus ou moins fait � l'aide d'outils tels que Tiles mais d'un point de vue des �l�ments de saisie, je trouve cela moins aboutit. Personnellement j'aurais aim� avoir dans les classes ActionForm des classes primitives Input par exemple. Dans cette classe ou pourrait d�finir le nom, la valeur par d�faut , le fait que la valeurest obligatoire ou non, un message d'erreur, la r�gle de validation, ... Pensez vous que ce type d'�l�ments est quelque chose d'int�ressant ? Savez vous si dans les �volutions futures de Struts cela est pr�vu. > Qu'en pensez-vous ? En conclusion, je dirais que Struts me para�t tr�s int�ressant mais je me pose une question : est il plus productif d'utiliser un framework de ce type qui r�pond � certains de mes besoins mais aussi � d'autres besoins car il doit convenir � un plus grand nombre ou ne vaut il pas mieux r�aliser son propre framework beaucoup plus simple (simpliste ?). Je pense que Struts � comme principal avantage d'�tre open-source et ouvert. On peut donc facilement l'�tendre et/ou le modeler mais j'aimerais avoir des retours d'exp�rience sur ce point. Je me permets de mettre dans le bain la liste d'application-servers car je sais que Didier Girard � une bonne ma�trise du sujet et je pense que des personnes de cette liste pourront nous donner leur avis. D�sol� pour ceux qui sont abonn�s aux deux comme moi. > > Enfin, connaissez-vous des liens sur les bonnes pratiques d'utilisation de > struts ? > > Yann > > > ___________________________________________________________ > Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en fran�ais ! > Yahoo! Mail : http://fr.mail.yahoo.com ______________________________________________________________________________ ifrance.com, l'email gratuit le plus complet de l'Internet ! vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP... http://www.ifrance.com/_reloc/email.emailif
