L'architecture
Modèle-Vue-Contrôleur L'architecture MVC (1/2) * Model-View-Controller (MVC) * Modèle d'architecture * Propose d'organiser l'application en 3 couches * Couplage le plus faible possible * Objectif * Séparer la présentation ("vue") des donnés ("modèle") * Couplage faible réalisé par un intermédiaire ("contrôleur") * Il assure la cohérence entre les deux couches * Motivation * Structurer l'interface homme-machine La couche "modèle" * Couche métier, le coeur de l'application * Représente le comportement de l'application * Contient les données de l'application * Effectue les traitements sur ces données * L'interface du modèle propose * La mise à jour des données * La consultation des données * Résultats du modèle dénués de toute présentation La couche "vue" * Interface avec l'utilisateur * 1ère tâche: présenter les résultats du modèle * Peut interroger l'interface du modèle (en lecture seulement) * 2nde tâche: recevoir toutes les actions de l'utilisateur * Certains événements sont traités directement * Si leur impact ne concerne que la vue * D'autres sont transmis au contrôleur * Si leur impact concerne le modèle * La vue n'effectue aucun traitement * Plusieurs vues possibles pour les mêmes données La couche "contrôleur" * Gestion des événements de synchronisation * Reçoit les événements de l'utilisateur * Par l'intermédiaire de la vue * Il analyse la requête * Et déclenche les actions à effectuer * Il transmet des messages au modèle * Si nécessaire, il informe la vue de se mettre à jour * Le contrôleur n'effectue aucun traitement et ne modifie aucune donnée L'architecture MVC (2/2) * Conclusion * Maintenance facilitée par le découplage vue(s)-modèle * Utilisation des patrons Observateur, Médiateur et Stratégie * Utilisé principalement pour les interfaces graphiques |