Bonjour à tous, je me pose une petite question concernant un developpement "propre" d'un appli struts.
Pour avoir un modèle MVC (ou plutot MV2C) propre, j'avais pensé à faire ceci:
Utiliser des classes métiers:
par exemple une classe utilisateur qui accèdent à une base de donnée et récupèrent les informations précises.
Les beans: qui contiennent les seules infos necessaires, avec uniquement des méthodes get et set. (ex: userBean)
Les struts actions: un action pour se logger instanciera un Utilisateur (à partir de son login récupéré dans un bean reçu par exemple), récupèrera les infos necessaires sur ce dernier (par appel à ses méthodes) et crée un bean de retour userBean avec ses informations qu'il renvoie aux vues.
Les vues:
ex: une vue qui utilise le bean userBean et affiche les résultats attendus.
En gros jaurrais ceci:
Donc j'aimerais avoir votre avis sur cette méthode, étant encore novice en la matière.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class Utilisateur extends ClasseMetier{ public Utilisateur ("login"){ //connexion à la bd et recup des infos } public getNom(){rreturn nom); } et à partir de ma struts action faire: String login = (String)actionForm.get("login"); Utilisateur monUtilisateur= new monUtilisateur(login); userBean ubean= new userBean (); ubean.setNom(monUtilisateur.getNom()); session.setAttribute("userInfo", ubean); return (mapping.findForward("success"));
Par contre, je me demande si on crée le bean de retour (userBean) dans la struts action (en faisiant par exemple userBean.setNom(Utilisateur.getNom()) ) ou dans la classe métier, en utilisant par exemple une méthode renvoyant l bean créé:
ex:
Si javais directement créé le bean userBean à partir de mes struts Actions (donc en faisant les requetes SQL à partir des Actions), je ne pense pas que ça soit très propre (redondance de code pour acceder aux données, grosses modifs à faire en cas de changement de bas ou autre).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class Utilisateur extends ClasseMetier{ public userBean getuserBean(){ userBean bean = new UserBean(); bean.setNom(this.nom); bean.setInfo...(this.nom); return bean; } } et à partir de ma struts action faire: String login = (String)actionForm.get("login"); Utilisateur monUtilisateur= new monUtilisateur(login); userBean ubean= monUtilisateur.getUserBean); session.setAttribute("userInfo", ubean); return (mapping.findForward("success"));
edit: on dit toujours de moi que je ne susi jamais assez clair,alors n'hésitez pas à demander plus de précisions
Partager