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


Répondre à