Pattern MVC [Résolu]

coolanso 75 Messages postés jeudi 12 août 2010Date d'inscription 5 juillet 2014 Dernière intervention - 15 nov. 2013 à 15:13 - Dernière réponse : cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention
- 21 nov. 2013 à 07:50
Bonjour à tous, j'aimerais juste des éclaircissements sur java de façon générale et sur le concept MVC en particulier. Je n'arrive pas à très bien comprendre comment pouvoir utiliser les méthodes de classes de différents packages au sein d'autres packages ou dans le même package.

1- Par exemple, si je dispose de deux packages A et B. Comment pourrais-je utiliser la méthode « methA » de la classe « classA » du package « packA » dans la classe « classB » du package « PackB ». Est-ce qu'une simple instanciation de la classe « classA » du package « packA » dans la classe « classB » du package « PackB » suffirait à résoudre mon problème.

2- Dans le cas des classes issues du même package est ce que l'instanciation d'une classe dans l'autre est-il également la solution ?

3- Quand on doit utiliser une classe comportant des paramètres (une autre classe) dans une classe du même package. Comment fait-on ?
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention - 15 nov. 2013 à 16:03
1
Merci
Pour t'expliquer comment ça marche en partant du principe que tu connais et comprends le design pattern Oberver :

- Le modèle (la partie métier de ton application) hérite de Observable qui permet de notifier les observateurs des modifications effectuées. Tu notifies les modifications aux observers sur toutes les méthodes set au moins.

- Les classes de l'ihm implémentent Observer et dans la méthode update, tu effectues les modifications pour que l'ihm colle aux paramètres de l'objet métier lorsqu'elle est notifiée d'un changement. Ton ihm possède un ou plusieurs contrôleurs.

- Les classes du contrôleur contiennent deux méthode au moins geTModel() et effectuerOperation() (ou équivalent) qui te permet de gérer les événements qui surviennent sur la vue.

Merci cs_Julien39 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention - 15 nov. 2013 à 15:57
0
Merci
Salut,

Je pense que tu ne comprends pas du tout l'architecture MVC. Ce n'est pas une question de packages mais c'est une décomposition entre la vue, le modèle et une couche de contrôle.

Les liens entre les packages se font normalement, c'est à dire en passant en paramètre des méthodes une instance de l'objet que tu veux utiliser.
Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention - Modifié par cs_Julien39 le 15/11/2013 à 16:06
0
Merci
A noter :
Si tu utilises jsf : tu as deux modèles MVC puisque jsf implémente un MVC pour la vue, le faces-config correspondant au contrôleur. Mais ce modèle MVC est uniquement pour la vue, il te faut en faire un autre dans lequel les managedBean sont la vue.

Si tu utilises Swing, les listeners sont "une sorte" de controleur pour lesquels les méthode actionPerformed() permettent de gérer les événements qui interviennent sur la vue. Il te suffit donc d'implémenter observer sur le model et le tour est joué.
Commenter la réponse de cs_Julien39
coolanso 75 Messages postés jeudi 12 août 2010Date d'inscription 5 juillet 2014 Dernière intervention - 20 nov. 2013 à 19:03
0
Merci
Merci bien Julien39 pour ces précisions,il se trouve que j'utilise Swing et ce n'est pas si évident d'utilisé le concept MVC,mais je fais avec en tout cas
Mon application fonctionne pour le moment bien,mais est qu'il est optimal je ne sais pas.Dans mon cas, mon model est un java bean qui prend en compte les propriétés de la classe, ma vue est bien entendu mon IHM ( le Jframe),le problème résidait quand une des mes vues devrait prendre en paramètre une autre vue.mais j'ai pu avoir des explications, quand il s'agit de vues du même package une simple instanciation dans la vue l'utilisant suffit,mais quand il s'agit de vue de différents package un import de la vue est nécessaire.
Commenter la réponse de coolanso
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention - 21 nov. 2013 à 07:50
0
Merci
Alors là, je n'ai rien compris...
Commenter la réponse de cs_Julien39

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.