Bonjour à tous,
Depuis quelques temps je tente d'utiliser le principe MVC pour mes applications, lorsqu'elles sont toutes simples il n'y a pas de problèmes. Mais là on ça se complique c'est lorsqu'il faut imbriquer les contrôleurs, les vues et les modèles.
J'ai plusieurs questions :
- Est-ce qu'un contrôleur peut manipuler plusieurs modèle ?
- Il est dis que c'est le contrôleur qui créer le modèle et la vue, or on peut avoir plusieurs façon de visualiser les données, donc pourquoi c'est au contrôleur de faire ça ? Pourquoi ne pas créer la vue à côté et la faire connaitre au contrôleur par un addView ?
J'ai lu cette conversation (fort intéressante) : http://www.developpez.net/forums/d80...hitecture-mvc/
Mais elle ne répond à toutes mes questions sur l'imbrication. Mon problème c'est que si on imbrique les contrôleurs, alors les vues et les modèles sont logiquement imbriqués également.
Exemple :
Je crée une vue principale qui encapsule deux boutons et une autre vue qui elle même est composée de 2 autres vues.
Les deux boutons de la vue principale sont gérer par le contrôleur principal et chacune des autres vues ont leur propre contrôleur et modèle. Mon problème c'est comment lier tout ce petit monde ??
Mon problème c'est que si c'est le contrôleur qui crée la vue elle ne correspondra pas forcément à celle que je souhaite !
Si je suis ce qui a été dis je peux faire :
Constructeur ControleurPrincipal
construire modelPrincipal
construire vuePrincipal(this)
construire controleurSecond
Fin constructeur
Constructeur ControleurSecond
construire modelSecond
construire vueSecond(this)
construire controleurTrois
construire controleurTrois
Fin constructeur
ConstructeurVuePrincipale(ControlleurPrincipal cp)
constuire les boutons propres à la vue
cp.getControleurSecond.getView(); // pb: ce n'est pas forcément la vue que je souhaitais
Fin constructeur
Est-ce une pratique correcte ? Et comment résoudre le problème de la vue ? En fait il faudrait que je construise le controleur en passant en argument une vue.
Partager