Bonjour,

Je souhaiterais savoir comment vous procédez habituellement pour passer d'une vue à une autre.
Par exemple on est dans la vue1, laquelle contient un Bouton1 censé ouvrir une autre fenêtre : la vue2.

Comment gérez-vous cela?


Moi j'ai commencé comme suit mais je me retrouve bloqué!!


Dans le main() je commence par:

IModele modele=new modeleConcret();
//Avec modeleConcret implémentant IModele

IVue vue1=new vueConcrete();
//Avec vueConcrete implémentant IVue

IController controleur1=new controllerConcret( vue1, modele );
//Avec controllerConcret implémentant IController



Ensuite dans le constructeur controllerConcret( IVue vue, IModele modele) j'ai:

this.modele=modele;
this.vue=vue;
this.vue.setController(this); //< Une IVue attend pour controller un IController


//----------

Quand l'utilisateur cliquera sur le fameux Bouton1 de la vue1, alors le contrôleur controleur1 en sera informé et alors là : je ne sais pas ce que doit faire ce contrôleur dés lors.... pour que la vue2 soit ouverte et associée à un autre contrôleur controller2 ??? Je suis coincé je ne sais pas!

- Qui doit instancier la vue2 ?
- Qui doit instancier le contrôleur pour cette dernière?


Sachant qu'idéalement je souhaiterais au final avoir des instanciations de la forme:
IVueBis vue2=new vueConcreteBis();
IControllerBis controleur2=new controllerConcretBis( vue2, modele );

Mais où écrire ça?
Qui est censé connaître l'interface IVueBis et la classe vueConcreteBis?
Qui est censé connaître l'interface IControllerBis et la classe controllerConcretBis ?


Si vous aviez des réponses, des solutions, ou si vous voulez bien me faire part de vos pratiques habituelles ça me serait d'un grand secours....!


Merci à tous et toutes.