Stéphane HUOT Dpt. Informatique DUT Informatique - S3 - 2009 JAVA Applications
Stéphane HUOT Dpt. Informatique DUT Informatique - S3 - 2009 JAVA Applications interactives - Modèle Vue-Contrôleur (MVC) 2 Introduction • 6h00 de cours • Programmation d’applications interactives en Java • Structure d’une application interactive: le modèle MVC (1-2h00) • Les interfaces graphiques en Java: AWT et Swing (4-5h00) 3 Introduction • Notions à retenir: • Point important: Bla bla bla Bla bla bla … 4 Introduction • Pas de distribution des transparents du cours Mais • Mise en ligne du ‘pdf’ après le cours • Prenez des notes, je dis des choses intéressantes et utiles parfois… 5 Plan du cours 1. Structure d’une application interactive o Ce que l’on «!fait!» et que l’on «!voit!» o Ce qu’il se passe 2. Réalisation d’applications interactives: Modèle-Vue-Contrôleur (MVC) o Le modèle o La vue o Le contrôleur 3. Utilisation et réalisation de MVC o Analyse en terme de MVC o Réalisation en Java: 2 exemples pour démarrer 6 Plan du cours 1. Structure d’une application interactive o Ce que l’on «!fait!» et que l’on «!voit!» o Ce qu’il se passe 2. Réalisation d’applications interactives: Modèle-Vue-Contrôleur (MVC) o Le modèle o La vue o Le contrôleur 3. Utilisation et réalisation de MVC o Analyse en terme de MVC o Réalisation en Java: 2 exemples pour démarrer 7 Application interactive • Une application avec laquelle l’utilisateur peut interagir: o L’application effectue des opérations en réponse aux actions de l’utilisateur o Coopération entre le programme et l’utilisateur, commandée par l’utilisateur o Est-ce qu’un shell (ligne de commandes) est une application interactive ? Ex: iTunes - ©Apple 8 Programmer des applications interactives • Tâche pouvant se révéler complexe: o Parce que la tâche que doit accomplir l’utilisateur peut être complexe o Parce qu’il faut prévoir les scenarios d’interaction (et donc les réactions de l’application) o Parce qu’il faut pouvoir maintenir et réutiliser " Passage à l’échelle (application importante) 9 Programmer des applications interactives • Heureusement, il y a: o Des concepts (structures et modèles d’applications interactives) • MVC • PAC • Nombreux ‘Design patterns’ (patrons de conception) • … o Des outils (pour concrétiser ces concepts) • Des langages/environnements de programmation adaptés • Librairies et leurs APIs (Application Programming Interfaces): boîtes à outils • … 10 Structure d’une application interactive • La partie ‘visible’ (front office): ce que l’on fait et ce que l’on voit o Interface Homme-Machine (IHM) • La partie ‘invisible’ (back office): ce qu’il se passe o Traitements o Données (stockage et accès) o Communications 11 Structure d’une application interactive: Ce que l’on fait et ce que l’on « voit » • La tâche de l’utilisateur et l’IHM de l’application o Interface non graphique: • Ex: Ligne de commande, tableau de commandes et indicateurs, … o Interface graphique (GUI): • Ex: Application standard Windows, page web, … • L’utilisateur ‘commande’ l’application (programmation événementielle) o L’IHM doit être adaptée à la tâche (cf PIG en S2) o L’application doit être ‘réactive’ (pas de traitements trop longs ou alors les notifier à l’utilisateur) 12 Structure d’une application interactive: Ce que l’on fait et ce que l’on « voit » • Les entrées (ce que l’on fait) et • Les sorties (ce que l’on voit) 13 Les entrées … 14 Les sorties … 15 Exemple: Jeu d’échecs • La tâche globale: jouer aux échecs! o Sous-tâche: déplacer les pièces • Interfaces utilisateur: Ligne de commande Graphique ou 16 Structure d’une application interactive: Ce qu’il se passe • Le ‘noyau’ de l’application: o Fonctionnalités o Accès aux données o Traitement des données • Les données • Produit les résultats aux actions de l’utilisateur 17 Exemple: Jeu d’échecs • Fonctionnalités: o Jouer une partie • Déplacer des pièces • Gérer les tours de jeu • Joueur virtuel • … o Enregistrer une partie o Charger une partie • Données: o État de la partie en cours o Parties sauvegardées o Catalogues d’ouvertures 18 Liaison entre ces 2 parties d’une application ? ? 19 Liaison entre ces 2 parties d’une application ? Programmation ‘en vrac et comme on peut’… 20 Liaison entre ces 2 parties d’une application ? Programmation ‘en vrac et comme on peut’… 21 Liaison entre ces 2 parties d’une application ? … programmation selon un modèle organisé. … … 22 Ce qu’il faut retenir - Application interactive ? - L’utilisateur à le contrôle - Développement complexe - Séparation Front Office / Back Office 23 Plan du cours 1. Structure d’une application interactive o Ce que l’on «!fait!» et que l’on «!voit!» o Ce qu’il se passe 2. Réalisation d’applications interactives: Modèle-Vue-Contrôleur (MVC) o Le modèle o La vue o Le contrôleur 3. Utilisation et réalisation de MVC o Analyse en terme de MVC o Réalisation en Java: 2 exemples pour démarrer 24 Le modèle ‘Modèle-Vue-Contrôleur’ (MVC) • MVC est: o Un patron de conception (une solution standardisée à un problème, indépendante des langages de programmation), o Une architecture logicielle (une manière de structurer une application ou un ensemble de logiciels). • Introduit en 1979 par Trygve Reenskaug, • Très fortement lié aux concepts de la programmation objet (Smalltalk). 25 MVC: structure du modèle • Organiser, structurer une application interactive en séparant: o Les données et leurs traitements: Le Modèle o La représentation des données La Vue o Le comportement de l’application Le Contrôleur 26 Le modèle ‘Modèle-Vue- Contrôleur’ (MVC) MODELE - fonctionnalités de l’application - accès aux données et traitements VUE - présentation des données à l’utilisateur CONTROLEUR - gestion des entrées de l’utilisateur - définit le comportement de l’application 27 Le modèle ‘Modèle-Vue- Contrôleur’ (MVC) MODELE - fonctionnalités de l’application - accès aux données et traitements VUE - présentation des données à l’utilisateur CONTROLEUR - gestion des entrées de l’utilisateur - définit le comportement de l’application 1-entrées utilisateur 28 Le modèle ‘Modèle-Vue- Contrôleur’ (MVC) MODELE - fonctionnalités de l’application - accès aux données et traitements VUE - présentation des données à l’utilisateur CONTROLEUR - gestion des entrées de l’utilisateur - définit le comportement de l’application 1-entrées utilisateur 2-notification de changement d’état 29 Le modèle ‘Modèle-Vue- Contrôleur’ (MVC) MODELE - fonctionnalités de l’application - accès aux données et traitements VUE - présentation des données à l’utilisateur CONTROLEUR - gestion des entrées de l’utilisateur - définit le comportement de l’application 1-entrées utilisateur 2-notification de changement d’état 3-opérations internes 30 Le modèle ‘Modèle-Vue- Contrôleur’ (MVC) MODELE - fonctionnalités de l’application - accès aux données et traitements VUE - présentation des données à l’utilisateur CONTROLEUR - gestion des entrées de l’utilisateur - définit le comportement de l’application 1-entrées utilisateur 2-notification de changement d’état 3-opérations internes 4a-choix de la vue 4b-demande d’état 4c-mise à jour 31 Le modèle ‘Modèle-Vue- Contrôleur’ (MVC) Vision plus concrète MODELE - fonctionnalités de l’application - accès aux données et traitements VUE - présentation des données à l’utilisateur CONTROLEUR - gestion des entrées de l’utilisateur - définit le comportement de l’application entrées utilisateur notification de changement d’état demande d’état notification d’entrées sélection de la vue notification de changement 32 Le modèle ‘Modèle-Vue- Contrôleur’ (MVC) Références entre composants MODELE VUE CONTROLEUR VUE MODELE CONTROLEUR MODELE 33 MVC: le modèle • Le modèle: o Représente les données o Fournit les accès aux données o Fournit les traitements applicables aux données o Expose les fonctionnalités de l’application " Noyau Fonctionnel de l’application 34 MVC: la vue • La vue: o Représente la (ou une) représentation des données du modèle o Assure la consistance entre la représentation qu’elle donne et l’état du modèle/le contexte de l’application " Sorties de l’application 35 MVC: le contrôleur • Le contrôleur: o Représente le comportement de l’application face aux actions de l’utilisateur o Fournit la traduction des actions de l’utilisateur en actions sur le modèle o Fournit la vue appropriée par rapport aux actions de l’utilisateur et des réactions du modèle " Comportement et gestion des entrées de l’application 36 Avantages de MVC • Structure ‘propre’ de l’application • Indépendance ‘données’ – ‘représentation’ – ‘comportements’ • Adapté aux concepts de la programmation 0-0 • Modulaire et réutilisable o Vues interchangeables o Contrôleurs interchangeables o Changement de ‘Look & Feel’ • Facilite les vues et contrôleurs multiples o Synchronisation ‘quasi-implicite’ 37 Inconvénients de MVC • Mise en place complexe dans le cas d’applications importantes • Mises à jour potentiellement trop nombreuses o ‘Spaghettis’ dans le code o Temps d’exécution • Contrôleur et Vue restent souvent fortement liés au Modèle " Adapter la réalisation au problème 38 Ce qu’il faut retenir - Structure modulaire de MVC - Rôle des composants - Liens entre les composants 39 Plan du cours 1. Structure d’une application interactive o Ce que l’on «!fait!» et que l’on «!voit!» o Ce qu’il se passe 2. Réalisation d’applications interactives: Modèle-Vue-Contrôleur (MVC) o Le modèle o La vue o Le contrôleur 3. Utilisation et réalisation de MVC o Analyse en terme de MVC o Réalisation en Java: 2 exemples pour démarrer 40 MVC: utilisation et réalisation • Comment réaliser une application interactive selon le modèle MVC ? • Ce qui a déjà été vu: le modèle o Implantation de modèles o Tests unitaires 41 Conventions uploads/Management/ 1-applicationsinteractives-mvc.pdf
Documents similaires










-
30
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 19, 2022
- Catégorie Management
- Langue French
- Taille du fichier 2.9164MB