Le modèle de conception MVC (Model-View-Controller) existe depuis plusieurs décennies, et il a été utilisé dans de nombreuses technologies différentes. Tout, de C ++ à Java, et maintenant C Sharp et .NET utilisent ce modèle de conception.
Voici quelques caractéristiques importantes du modèle MVC:
  • À l'origine, il a été nommé Thing-Model-View-Editor en 1979, puis il a ensuite été simplifié pour Model-View-Controller.
  • C'est un moyen puissant et élégant de séparer les préoccupations au sein d'une application (par exemple, la séparation de la logique d'accès aux données de la logique d'affichage) et s'applique très bien aux applications Web.
  • Sa séparation explicite des préoccupations ajoute une petite complexité supplémentaire à la conception d'une application, mais les bénéfices extraordinaires l'emportent sur l'effort supplémentaire.
The MVC architectural pattern separates the user interface (UI) of an application into three main parts.

  • Le contrôleur: un ensemble de classes qui gère la communication de l'utilisateur, le flux d'application global et la logique spécifique à l'application.
  • Le modèle: un ensemble de classes qui décrit les données avec lesquelles vous travaillez ainsi que la logique métier.
  • The View: Définit comment l'interface utilisateur de l'application sera affichée. C'est un HTML pur, qui décide comment l'UI ressemble.




L'idée est que vous aurez un composant appelé la vue, qui est le seul responsable du rendu de cette interface , qu'il s'agisse de HTML ou s'il s'agit réellement d'objets d'interface sur une application.
La vue parle d'un modèle, et ce modèle contient toutes les données que la vue doit afficher.

Dans une application Web, la vue peut ne pas avoir de code associé à elle. Il suffit d'avoir du HTML, puis des expressions de l'endroit où prendre des données du modèle et les brancher dans les endroits corrects dans le modèle HTML que vous avez créé dans la vue.


Le contrôleur qui organise est tout. Lorsqu'une demande HTTP arrive pour une application MVC, cette requête est acheminée vers un contrôleur, et il appartient au contrôleur de parler à la base de données, au système de fichiers ou au modèle.