logo

Présentation du cadre MVC

Au cours des dernières années, les sites Web sont passés de simples pages HTML avec un peu de CSS à des applications incroyablement complexes sur lesquelles des milliers de développeurs travaillent en même temps. Pour travailler avec ces applications Web complexes, les développeurs utilisent différents modèles de conception pour présenter leurs projets, afin de rendre le code moins complexe et plus facile à utiliser. Le plus populaire de ces modèles est MVC aussi connu sous le nom Modèle Vue Contrôleur.

Qu’est-ce que MVC ?

Le Modèle-Vue-Contrôleur (MVC) le framework est un modèle d'architecture/de conception qui sépare une application en trois composants logiques principaux Modèle , Voir , et Manette . Chaque composant architectural est conçu pour gérer des aspects de développement spécifiques d'une application. Il isole la logique métier et la couche de présentation les unes des autres. Il était traditionnellement utilisé pour le bureau interfaces utilisateur graphiques (GUI) . De nos jours, MVC est l'un des frameworks de développement Web standards les plus fréquemment utilisés pour créer des projets évolutifs et extensibles. Il est également utilisé pour concevoir des applications mobiles.



MVC a été créé par Trygve Reenskaug . L'objectif principal de ce modèle de conception était de résoudre le problème des utilisateurs contrôlant un ensemble de données volumineux et complexe en divisant une application volumineuse en sections spécifiques ayant chacune leur propre objectif.

Caractéristiques de MVC :

  • Il fournit une séparation claire de logique métier, logique d'interface utilisateur et logique d'entrée.
  • Il offre un contrôle total sur votre code HTML et vos URL, ce qui facilite la conception de l'architecture d'applications Web.
  • Il s'agit d'un puissant composant de mappage d'URL grâce auquel nous pouvons créer des applications dotées d'URL compréhensibles et consultables.
  • Elle supporte Développement piloté par les tests (TDD).

Pour en savoir plus sur les avantages de l'utilisation du framework MVC, reportez-vous à l'article – Avantages de l'utilisation du framework MVC

Composants de MVC :

Le framework MVC comprend les 3 composants suivants :



  • Manette
  • Modèle
  • Voir

Conception d'architecture MVC

Manette:

Le contrôleur est le composant qui permet l'interconnexion entre les vues et le modèle, il joue donc le rôle d'intermédiaire. Le contrôleur n’a pas à se soucier de la gestion de la logique des données, il indique simplement au modèle quoi faire. Il traite toute la logique métier et les requêtes entrantes, manipule les données à l'aide du Modèle composant et interagir avec le Voir pour restituer la sortie finale.

Java remplace le caractère dans la chaîne

Voir:

Le Voir Le composant est utilisé pour toute la logique d’interface utilisateur de l’application. Il génère une interface utilisateur pour l'utilisateur. Les vues sont créées par les données collectées par le composant du modèle, mais ces données ne sont pas prises directement mais via le contrôleur. Il n'interagit qu'avec le contrôleur.



Modèle:

Le Modèle Le composant correspond à toute la logique liée aux données avec laquelle l'utilisateur travaille. Cela peut représenter soit les données transférées entre les composants View et Controller, soit toute autre donnée liée à la logique métier. Il peut ajouter ou récupérer des données de la base de données. Il répond à la demande du contrôleur car celui-ci ne peut pas interagir seul avec la base de données. Le modèle interagit avec la base de données et renvoie les données requises au contrôleur.

Fonctionnement du framework MVC avec un exemple :

Imaginons qu'un utilisateur final envoie une requête à un serveur pour obtenir une liste des étudiants qui étudient dans une classe. Le serveur enverrait ensuite cette demande au contrôleur particulier qui gère les étudiants. Ce contrôleur demanderait alors au modèle qui gère les étudiants de renvoyer une liste de tous les étudiants qui étudient dans une classe.

Le flux de données dans les composants MVC

Le modèle interrogerait la base de données pour obtenir la liste de tous les étudiants, puis renverrait cette liste au contrôleur. Si la réponse du modèle était réussie, le contrôleur demanderait à la vue associée aux étudiants de renvoyer une présentation de la liste des étudiants. Cette vue prendrait la liste des étudiants du contrôleur et la rendrait au format HTML pouvant être utilisé par le navigateur.

Le contrôleur prendrait alors cette présentation et la renverrait à l'utilisateur. Mettant ainsi fin à la demande. Si auparavant le modèle renvoyait une erreur, le contrôleur gérerait cette erreur en demandant à la vue qui gère les erreurs de restituer une présentation pour cette erreur particulière. Cette présentation d'erreur serait alors renvoyée à l'utilisateur au lieu de la présentation de la liste des étudiants.

Comme nous pouvons le voir dans l’exemple ci-dessus, le modèle gère toutes les données. La vue gère toutes les présentations et le contrôleur indique simplement au modèle et à la vue ce qu'il faut faire. Il s'agit de l'architecture de base et du fonctionnement du framework MVC.

Le modèle architectural MVC nous permet d'adhérer aux principes de conception suivants :
1. Diviser et conquérir. Les trois composants peuvent être conçus de manière quelque peu indépendante.
2. Augmente la cohésion. Les composants ont une cohésion de couche plus forte que si la vue et le contrôleur étaient ensemble dans une seule couche d'interface utilisateur.
3. Réduisez l’accouplement. Les canaux de communication entre les trois composants sont minimes et faciles à trouver.
4. Augmentez la réutilisation. La vue et le contrôleur utilisent normalement largement des composants réutilisables pour différents types de contrôles d’interface utilisateur. Toutefois, l’interface utilisateur deviendra spécifique à l’application et ne sera donc pas facilement réutilisable.
5. Concevoir pour la flexibilité. Il est généralement assez simple de modifier l’interface utilisateur en modifiant la vue, le contrôleur ou les deux.

Avantages de MVC :

  • Les codes sont faciles à maintenir et peuvent être facilement étendus.
  • Le MVC modèle Le composant peut être testé séparément.
  • Les composants de MVC peuvent être développés simultanément.
  • Il réduit la complexité en divisant une application en trois unités. Modèle, vue et contrôleur.
  • Elle supporte Développement piloté par les tests (TDD).
  • Cela fonctionne bien pour les applications Web prises en charge par de grandes équipes de concepteurs et de développeurs Web.
  • Cette architecture permet de tester les composants indépendamment car toutes les classes et objets sont indépendants les uns des autres.
  • Optimisation des moteurs de recherche (SEO) Amical.

Inconvénients de MVC :

  • Il est difficile de lire, modifier, tester et réutiliser ce modèle
  • Il ne convient pas à la création de petites applications.
  • L’inefficacité de l’accès aux données en vue.
  • La navigation dans le framework peut être complexe car elle introduit de nouvelles couches d'abstraction qui obligent les utilisateurs à s'adapter aux critères de décomposition de MVC.
  • Complexité accrue et inefficacité des données

Frameworks MVC populaires :

Certains des frameworks MVC les plus populaires et les plus utilisés sont répertoriés ci-dessous.

exemples de programmes python
  • Rubis sur Rails
  • Django
  • CerisePy
  • Printemps MVC
  • Catalyseur
  • Des rails
  • Cadre Zend
  • Carburant PHP
  • Laravel
  • Symphonie

MVC est généralement utilisé sur les applications qui s'exécutent sur un seul poste de travail graphique. La division des composants logiques permet la lisibilité et la modularité et la rend plus confortable pour la partie test.