2010-04-22 6 views
1

J'utilise le modèle Model-View sur une petite application que j'écris. Voici le scénario: Le modèle maintient une liste de répertoires d'où il peut extraire les données dont il a besoin. La vue dispose d'une boîte de dialogue Configuration ou Paramètres dans laquelle l'utilisateur peut modifier cette liste de répertoires (la boîte de dialogue contient une liste JList qui affiche la liste en plus des boutons Ajouter et Supprimer).Configuration et vue-modèle

J'ai besoin de conseils de la part de la communauté: La vue doit communiquer ces changements au modèle. J'ai d'abord pensé à ajouter au modèle ces méthodes: addDirectory() et removeDirectory(). Mais j'essaie de limiter le nombre de méthodes (ou canaux) que la vue peut utiliser pour communiquer et manipuler le modèle. Y a-t-il une bonne pratique pour cela? Je vous remercie.

Répondre

1

Ajouter une couche intermédiaire, qui parle à la fois le modèle et la vue, communément appelé un dispositif de commande :)

La vue peut alors communiquer avec le contrôleur avec des méthodes comme addButtonPressed() et removeButtonPressed(). Ces méthodes appellent ensuite addDirectory() et removeDirectory(), sans que la vue ne le sache. Puisque vous écrivez une petite application, ajouter des trucs MVC supplémentaires serait probablement plus lourd.

EDIT: dans cette configuration, la vue n'a qu'une référence au contrôleur et non au modèle.

Questions connexes