Salut,

J'aimerais avoir une précision sur l'implémentation correcte de la relation entre Vue et Controlleur dans l'approche MVC (Modèle-Vue-Contrôleur). La plupart des références bibliographiques que j'ai trouvé disent en gros que la vue transmet des évènements utilisateur au contrôleur qui ensuite se charge de les interpréter vis à vis du modèle.

J'aimerais savoir s'il y a une bonne pratique de conception qui précise où situer l'interface d'échange de ces évènements utilisateur.

Par exemple si j'ai un slider qui règle un volume sonore.

Je peux :

1- faire un controlleur avec une méthode setVolume(insigned int volume) et une vue qui détecte le déplacement du curseur et qui appelle controlleur.setVolume(slider.pos).

ou bien

2- faire un controlleur avec une méthode notifySliderChanged(SliderId id) et une vue qui détecte le déplacement du curseur et qui appelle controlleur.notifySliderChanged(mySliderId). Le controlleur fait alors le rapprochement (mySliderId <-> identifiant du curseur de volume), demande au slider sa nouvelle position et applique le volume.

Quelle est la bonne approche ? Y en a t-il d'autres ?
Merci pour vos conseils et réactions.