Ce matériel fait partie de la série "Introduction au développement d'entreprise". Articles précédents :
- sur le réseautage
- sur l'architecture logicielle
- à propos de HTTP/HTTPS
- sur les bases de Maven
- à propos des servlets (écriture d'une application web simple)
- à propos des conteneurs de servlet
Histoire de MVC
Les idées derrière MVC ont été formulées par Trygve Reenskaug alors qu'il travaillait chez Xerox PARC à la fin des années 1970. À cette époque, travailler avec des ordinateurs exigeait un diplôme et une étude constante d'une documentation volumineuse. La tâche résolue par Reenskaug avec un groupe de développeurs très forts était de simplifier l'interaction d'un utilisateur ordinaire avec l'ordinateur. Il fallait créer des outils qui, d'une part, seraient extrêmement simples et compréhensibles, et d'autre part, permettraient de contrôler des ordinateurs et des applications complexes. Reenskaug a travaillé dans une équipe qui a développé un ordinateur portable "pour les enfants de tous âges" - le Dynabook, ainsi que le langage SmallTalk sous la direction d'Alan Kay. C'est alors que les concepts d'une interface conviviale ont été définis. À bien des égards, le travail effectué par Reenskaug et son équipe a influencé l'évolution de la sphère informatique. Voici un fait intéressant qui ne s'applique pas directement à MVC, mais qui illustre l'importance de ces développements. Alan Kaya dit, "Quand je suis arrivé chez Apple, c'était en 1984, le Mac était déjà sorti et Newsweek m'a contacté et m'a demandé ce que je pensais du Mac. J'ai dit : 'Eh bien, le Mac est le premier ordinateur personnel assez bon pour être critiqué.' Ainsi, après avoir annoncé l'iPhone en 2007, il me l'a présenté et me l'a tendu. Il a dit : « Alan, est-ce assez bon pour être critiqué ? Et j'ai dit, 'Steve, fais-en cette taille aussi grande qu'une tablette et tu domineras le monde.'" Après 3 ans, le 27 janvier 2010, Apple a présenté l'iPad avec une diagonale de 9,7 pouces. En d'autres termes, Steve Jobs a suivi presque exactement les conseils d'Alan Kay. Le projet de Reenskaug a duré 10 ans. Mais la première publication sur MVC est apparue après encore 10 ans. Martin Fowler, auteur de plusieurs livres et articles sur l'architecture logicielle, mentionne qu'il a étudié MVC en utilisant une version de travail de Smalltalk. Parce qu'il n'y avait pas d'informations sur MVC de la source d'origine pendant longtemps, et pour plusieurs autres raisons, un grand nombre d'interprétations différentes de ce concept sont apparues. En conséquence, beaucoup considèrent MVC comme un modèle de conception. Plus rarement, MVC est appelé un modèle composite ou une combinaison de plusieurs modèles qui fonctionnent ensemble pour créer des applications complexes. Mais, comme mentionné précédemment, MVC est en fait principalement un ensemble d'idées/principes/approches architecturales qui peuvent être mis en œuvre de différentes manières en utilisant différents modèles... Ensuite, nous examinerons les principales idées intégrées dans le concept MVC. et pour plusieurs autres raisons, un grand nombre d'interprétations différentes de ce concept sont apparues. En conséquence, beaucoup considèrent MVC comme un modèle de conception. Plus rarement, MVC est appelé un modèle composite ou une combinaison de plusieurs modèles qui fonctionnent ensemble pour créer des applications complexes. Mais, comme mentionné précédemment, MVC est en fait principalement un ensemble d'idées/principes/approches architecturales qui peuvent être mis en œuvre de différentes manières en utilisant différents modèles... Ensuite, nous examinerons les principales idées intégrées dans le concept MVC. et pour plusieurs autres raisons, un grand nombre d'interprétations différentes de ce concept sont apparues. En conséquence, beaucoup considèrent MVC comme un modèle de conception. Plus rarement, MVC est appelé un modèle composite ou une combinaison de plusieurs modèles qui fonctionnent ensemble pour créer des applications complexes. Mais, comme mentionné précédemment, MVC est en fait principalement un ensemble d'idées/principes/approches architecturales qui peuvent être mis en œuvre de différentes manières en utilisant différents modèles... Ensuite, nous examinerons les principales idées intégrées dans le concept MVC.MVC : idées et principes de base
- VC est un ensemble d'idées et de principes architecturaux pour la construction de systèmes d'information complexes avec une interface utilisateur
- MVC est une abréviation qui signifie : Modèle-Vue-Contrôleur
Étape 1. Séparez la logique métier de l'application de l'interface utilisateur
L'idée principale de MVC est que toute application dotée d'une interface utilisateur peut être divisée en 2 modules : un module responsable de l'implémentation de la logique métier et l'interface utilisateur. Le premier module implémentera les fonctionnalités principales de l'application. Ce module est le cœur du système, où le modèle de domaine de l'application est implémenté. Dans le paradigme MVC, ce module est la lettre M, c'est-à-dire le modèle. Le deuxième module implémente l'ensemble de l'interface utilisateur, y compris la logique pour afficher les données à l'utilisateur et gérer l'interaction de l'utilisateur avec l'application. L'objectif principal de cette séparation est de garantir que le cœur du système (le "modèle" dans la terminologie MVC) peut être développé et testé de manière indépendante. Après avoir fait cette séparation, l'architecture de l'application ressemble à ceci :Étape 2 Utilisez le modèle d'observateur pour rendre le modèle encore plus indépendant et pour synchroniser les interfaces utilisateur
Ici, nous avons 2 objectifs :- Atteindre une indépendance encore plus grande pour le modèle
- Synchroniser les interfaces utilisateur
Étape 3 Séparez l'interface en vue et contrôleur
Nous continuons à diviser l'application en modules, mais maintenant à un niveau inférieur dans la hiérarchie. À cette étape, l'interface utilisateur (que nous avons séparée en un module distinct à l'étape 1) est divisée en une vue et un contrôleur. Tracer une ligne stricte entre la vue et le contrôleur est difficile. Si nous disons que la vue est ce que l'utilisateur voit et que le contrôleur est le mécanisme qui permet à l'utilisateur d'interagir avec le système, vous pourriez souligner une contradiction. Les éléments de contrôle, tels que les boutons sur une page Web ou un clavier virtuel sur l'écran d'un téléphone, font essentiellement partie du contrôleur. Mais ils sont aussi visibles pour l'utilisateur que n'importe quelle partie de la vue. Ce dont nous parlons vraiment ici, c'est de la séparation fonctionnelle. La tâche principale de l'interface utilisateur est de faciliter l'interaction de l'utilisateur avec le système.- sortie et affichage pratique des informations système à l'utilisateur
- entrer les données et les commandes de l'utilisateur (les communiquer au système)
- Selon les principes du paradigme MVC, un système doit être divisé en modules.
- Le module le plus important et le plus indépendant devrait être le modèle.
- Le modèle est le cœur du système. Il devrait être possible de le développer et de le tester indépendamment de l'interface utilisateur.
- Pour y parvenir, dans la première étape de la division, nous devons diviser le système en un modèle et une interface utilisateur.
- Ensuite, à l'aide du modèle d'observateur, nous renforçons l'indépendance du modèle et synchronisons les interfaces utilisateur.
- La troisième étape consiste à diviser l'interface utilisateur en un contrôleur et une vue.
- Tout ce qui est nécessaire pour recevoir les données utilisateur dans le système se trouve dans le contrôleur.
- Tout ce qui est nécessaire pour fournir des informations à l'utilisateur se trouve dans la vue.
GO TO FULL VERSION