Discussion sur le pattern MVC

Résolu
profiter Messages postés 205 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 mars 2013 - 18 août 2011 à 14:00
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 19 août 2011 à 16:27
bonjour

aprés m'avoir bien documenté sur ce patern ( les 2 codes sources de julien39 : implementation mvc et organiser une application ) et d'autres tuto exterieur j'ai trouvé que le controlleur ne joue pas un role essentiel ( => perte de temps pour le coder ) on peut l'eviter sans que la vue et le modele soit depandants

exemple :
j'ai une vue qui permet d'afficher les listes d'articles enregistré dans la base
et un bouton pour ajouter un article et autre pour modifier .....
dans le modele correspondant a cette internaleframe : j'ai :
une methode qui retourne la liste des articles
une qui insert un nouveau : inserer()
une qui modifie : modifier()
une qui affiche la liste : afficher()
....
alors lors de l'ouverture de l'internaleframe je charge la liste par la methode afficher()

lors du clic sur le boutton ajouter un JDialog s'ouvre et et on rempli les chps et lors de clic sur ok : si ts les chps sont corrects on appele la methode inserer() puis afficher() pour metre a jour la vue ....

et comme ca sans a voir recours au controlleur

et si on veut faire une autre vue meme avec un outil a part swing on aura pas a changer le modele

ca c'est mon avis que j'ai essayé de bien argumenté ,

qu'est ce que vous en pensez ?

8 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
18 août 2011 à 15:23
Bonjour,

Dans le cas que tu présentes en exemple, tu fais du MVC sans le savoir.

Dans ce que tu expliques, le modèle est la base de données, le contrôleur est la classe que tu appelles modèles et qui regroupe l'ensemble des actions possibles, et la vue et bien, c'est la vue de ton application.

Il ne manque qu'une seule chose dans ton exemple : une modélisation objet : en effet, je ne vois pas d'objet Article qui contient toutes les informations d'un article, et donc, tu fais ici de la programmation fonctionnelle.

Pour faire de la programmation objet, tu créés une classe Article qui est le modele de ton application, le controleur est la classe qui contient modifier, afficher, ... et la vue ben... c'est la vue.

Donc, désolé mais tu ne viens pas de révolutionner la facon d'organiser une application selon ce pattern .
3
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
18 août 2011 à 23:46
Salut

faire une appli pro.???? perso je ne sais ce que cela veut dire!!!

Pour revenir un peu sur MVC ou plutot sur les paterns ;o) : il est évident qu il ne sont pas la facon la plus efficasse de coder en terme de performance et de cout immediat...
par contre, pour toutes maintenane/modification il est bcp plus simple de suivre un pgm dévelloper à l aide de patterns, d ou un gain non n égligeable dans tout les domaines du dev (et vi tout le monde les connait...) ...
Et dans la programmation d ihm leurs efficassités sautent aux yeux ;o) ...


GodConan ;o)
3
profiter Messages postés 205 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 mars 2013 8
18 août 2011 à 16:24
merci

c'est maintenant que je viens de bien comprendre ce que le pattern mvc car j'etais trop attaché aux exples donnés mais il fallu que je prend le principe et l'implementation change selon les cahiers de charges

concernant la modelisation objet : moi j'utilise les classes (pojos) pour chaque table a part les tables des associations et aussi les classes DAO : d'ailleurs dans les methodes inserer() et afficher() ... je ne fais pas des requettes mais voila :

DAO art = new articleDAO();      
ArrayList articles = ((articleDAO) art).select();

String[] colonnesNames = {"reference", "designation", "marque", "unité" , "taux TVA", "prix achat", "prix vente"};
Object[][] taw = new Object[articles.size()][7];
for( int i = 0 ; i< articles.size() ; i++ ){
        	taw[i][0] = articles.get(i).getReference();
        	taw[i][1] = articles.get(i).getDesignation();
        	taw[i][2] = articles.get(i).getMarque();
        	taw[i][3] = articles.get(i).getUnite();
        	taw[i][4] = articles.get(i).getT_tva();
        	taw[i][5] = articles.get(i).getP_a();
        	taw[i][6] = articles.get(i).getP_v();
        }
              
DefaultTableModel dtm = new DefaultTableModel(taw,colonnesNames);

table = new JTable(dtm);


alors, pour conclure je pense que je suis dans le bon chemin pour faire une application "pro", n'est ce pas ?
et vous avez contribuer tres fort pour m'aider a atteindre mon but , je vous remerci
et je pense qu'il me reste maintenant que des problemes techniques
je n'hesite pas a les poser au fur et a mesure
0
profiter Messages postés 205 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 mars 2013 8
19 août 2011 à 01:04
bonjour,


Pour revenir un peu sur MVC ou plutot sur les paterns ;o) : il est évident qu il ne sont pas la facon la plus efficasse de coder en terme de performance et de cout immediat...


a part le temps de codage : ya t il un autre inconvenient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
19 août 2011 à 06:44
euhh!!! ou je parle de temps?? ;o)

GodConan ;o)
0
profiter Messages postés 205 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 mars 2013 8
19 août 2011 à 12:55
bonjour,

je pense qu'en s'habituant ca ne va pas rester un probleme => peut etre un gain de tps

selon votre experience qu'est ce que vous en dites
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
19 août 2011 à 13:18
Bonjour,

Tu ne gagneras pas de temps en implémentant ce design pattern. C'est vraiment impossible. Par contre, tu gagneras du temps lors de la maintenance et de l'évolution de ton application.
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
19 août 2011 à 16:27
le temps!!! ;o) quand on code maintenant ;o) le code n est plus une perte de temps ;o) surtout avec les outils actuels ;o) .. et l avantage de la POO ;o) c est que bcp de morceau de code (class) sont réutilisable ;o) ... Les paterns c est bien au ssi parce qu elle sont bien défini ;o) et qu un générateur de code pêu macher le travail ;o) (ou une jolie macro) mais faut pas non plus ce prendre la tete avec ;o) ...

GodConan ;o)
0
Rejoignez-nous