link915
Messages postés4Date d'inscriptionmercredi 16 septembre 2009StatutMembreDernière intervention 8 avril 2012
-
8 avril 2012 à 11:12
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 2012
-
9 avril 2012 à 10:45
Bonjour,
Souhaitant travailler avec le modèle MVC pour le développement de mon application, j'ai browsé le web dans le but de trouver différentes informations concernant le dit pattern. J'en ai donc compris le fonctionnement mais je n'arrive pas à l'appliquer sur mon projet.
Sachant que tout les exemples que j'ai pu trouvé reposent sur de très petites application qui se chargent par exemple de mettre à jour une String
Alors voici le contexte :
J'ai une vue complexe qui contient une multitudes de champs, champs qui devront pouvoir être mis à jour mais qui pourront aussi servir de fournisseur d'informations.
Toutes ces données, sont ensuite stockées en base de données.
Et mon problème est tel que je ne comprend pas comment le contrôleur va se charger de contrôler l'intégrité de Toutes les données ( une 30 aines ), données qui seront ensuite envoyer en base grace au model.
Sachant que mon interface (ma vue) est centralisée sous une classe qui étend de JFrame, il faudrait alors que je passe à mon contrôleur, ma JFrame en paramètre ?
Voilà, c'est un peu touffu, et c'est surement pour ça que je m'y perd un peu.
J'ajoute quelques informations :
En y réfléchissant, l'utilisation de plusieurs vues devrait être une bonne solution, chaque vue représentant un panel qui doit être ou non mis à jour.
Or je ne trouve aucun exemple mettant en oeuvre plusieurs vues, c'est évoqué très rapidement sans aucune explication dans la plupart des tutos.
Il faudrait donc partir sur un AbstractModel et un AbstractControler ?
Et pour chaque vue implémenter une classe spécifique ?
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 8 avril 2012 à 12:39
Salut,
Normalement, quand tu as une application, chaque vue a une seule utilité. Cette fonction est réalisée par le contrôleur qui créé les objets métier et enregistre dans la base de données les informations.
Sachant que mon interface (ma vue) est centralisée sous une classe qui étend de JFrame, il faudrait alors que je passe à mon contrôleur, ma JFrame en paramètre ?
Oui c'est un bon moyen. Tu peux par exemple passer ta JFrame en paramètre du constructeur de l'objet qui fait office de contrôleur. Honnêtement ce n'est pas la méthode que je préfère. Tu peux par exemple appeler une méthode statique de ta classe faisait office de controleur pour pouvoir garder une référence sur ta JFrame. C'est plus simple de cette façon car avec la méthode du constructeur tu dois te prendre d'avantage la tête pour savoir s'il a déjà été instancié ou non etc.
Bref tu peux faire
Controleur monControleur = new Controleur( maJFrame );
Ou alors
Controleur.reconnaitreJFrame( taJFrame );
// la fonction pour avoir une référence sur ta JFrame :
public static void reconnaitreJFrame( JFrame j ){
laJFrame = j: // où ici laJFrame est un attribut static de ta classe Controleur
}
Sinon ce que tu peux faire, c'est par exemple faire un controleur par vue. Chaque vue est représentée par une classe, et tu fais une classe de controle pour chaque vue.
Comme ça le MVC peut être un peu déconcertant. Donc tu peux poster ton code et on te filera un coup de main.
--
Pylouq (Lire le Réglement n'a jamais tué personne, au pire ça les a instruit)