Le framework MVC est un modèle de conception qui force la séparation de l'entrée, du traitement et de la sortie de l'application, afin que le même programme puisse utiliser différentes représentations.
MVC
(Model View Controler) existait à l'origine dans le programme Desktop, M fait référence au modèle de données, V fait référence à l'interface utilisateur et C fait référence au contrôleur. Le but de l'utilisation de MVC est de séparer les codes d'implémentation de M et V, afin que le même programme puisse utiliser des représentations différentes. Par exemple, vous pouvez représenter un lot de données statistiques respectivement sous forme de graphiques à barres et de diagrammes circulaires. Le but de C est d'assurer la synchronisation de M et V. Une fois M modifié, V doit être mis à jour de manière synchrone.
Model-View-Controller (MVC) est un modèle de conception logicielle inventé par Xerox PARC dans les années 1980 pour le langage de programmation Smalltalk-80, et il est largement utilisé aujourd'hui. Ces dernières années, il a été recommandé comme modèle de conception pour la plate-forme J2EE de Sun et est accueilli favorablement par de plus en plus de développeurs utilisant ColdFusion et PHP. Le modèle Model-View-Controller est une boîte à outils utile qui présente de nombreux avantages, mais aussi certains inconvénients.
Comment fonctionne MVC
MVC est un modèle de conception qui impose la séparation de l'entrée, du traitement et de la sortie d'une application. Les applications utilisant MVC sont divisées en trois composants principaux : le modèle, la vue et le contrôleur. Ils gèrent chacun leurs propres tâches.
Vue
Une vue est l'interface que les utilisateurs voient et avec laquelle ils interagissent. Pour les applications Web anciennes, la vue est une interface composée d'éléments HTML. Dans les applications Web de nouveau style, HTML joue toujours un rôle important dans la vue, mais de nouvelles technologies ont émergé sans cesse, notamment Macromedia Flash et certains langages de balisage. et les services Web comme XHTML, XML/XSL, WML, etc.
Comment gérer l'interface de l'application devient de plus en plus difficile. L'un des grands avantages de MVC est qu'il peut gérer de nombreuses vues différentes pour votre application. Aucun traitement réel n'a lieu dans la vue, que les données soient stockées en ligne ou dans une liste d'employés. En tant que vue, cela sert simplement à générer les données et à permettre à l'utilisateur de les manipuler.
Modèle
Le modèle représente les données d'entreprise et les règles métier. Parmi les trois composants de MVC, le modèle comporte le plus de tâches de traitement. Par exemple, il peut utiliser des objets composants tels que les EJB et les composants ColdFusion pour gérer les bases de données. Les données renvoyées par le modèle sont neutres, ce qui signifie que le modèle n'a rien à voir avec le format des données, de sorte qu'un modèle peut fournir des données pour plusieurs vues. La duplication de code est réduite car le code appliqué au modèle ne doit être écrit qu'une seule fois et peut être réutilisé par plusieurs vues.
Contrôleur
Le contrôleur accepte les entrées de l'utilisateur et appelle des modèles et des vues pour répondre aux besoins de l'utilisateur. Ainsi, lorsqu'un lien hypertexte dans une page Web est cliqué et qu'un formulaire HTML est envoyé, le contrôleur lui-même ne génère rien et n'effectue aucun traitement. Il reçoit simplement la demande et décide quel composant de modèle appeler pour gérer la demande, puis détermine quelle vue utiliser pour afficher les données renvoyées par le traitement du modèle.
Nous résumons maintenant le processus de traitement MVC. Tout d'abord, le contrôleur reçoit la demande de l'utilisateur et décide quel modèle doit être appelé pour le traitement. Ensuite, le modèle utilise la logique métier pour traiter la demande de l'utilisateur et renvoie les données. le contrôleur utilise la vue correspondante formate les données renvoyées par le modèle et les présente à l'utilisateur via la couche de présentation.
Pourquoi utiliser MVC
La plupart des applications Web sont créées à l'aide de langages procéduraux comme ASP, PHP ou CFML. Ils mélangent du code au niveau des données, comme les requêtes de base de données, avec du code au niveau de la présentation, comme HTML.
Les développeurs expérimentés sépareront les données de la couche de présentation, mais cela n'est généralement pas facile à faire. Cela nécessite une planification minutieuse et des essais et des erreurs constants. MVC les oblige fondamentalement à être séparés. Bien que la construction d'applications MVC nécessite un travail supplémentaire, les avantages que cela nous apporte sont incontestables.
Tout d’abord, il est important que plusieurs vues partagent un modèle. Comme je l’ai mentionné, il existe désormais de plus en plus de façons d’accéder à votre application. Une solution à ce problème consiste à utiliser MVC, que vos utilisateurs souhaitent une interface Flash ou une interface WAP ; un modèle peut toutes les gérer ; Puisque vous avez séparé les données et les règles métier de la couche de présentation, vous pouvez maximiser la réutilisation de votre code.
Les données renvoyées par le modèle n'étant pas formatées, un même composant peut être utilisé par différentes interfaces. Par exemple, de nombreuses données peuvent être représentées en HTML, mais elles peuvent également être représentées en Macromedia Flash et WAP. Les modèles disposent également de fonctionnalités de gestion d'état et de persistance des données. Par exemple, les paniers d'achat basés sur des sessions et les processus de commerce électronique peuvent être réutilisés par des sites Web Flash ou des applications de réseau sans fil.
Étant donné que les modèles sont autonomes et découplés des contrôleurs et des vues, il est facile de modifier la couche de données et les règles métier de votre application. Si vous souhaitez migrer votre base de données de MySQL vers Oracle ou modifier votre source de données basée sur un SGBDR vers LDAP, modifiez simplement votre modèle.
Une fois que vous aurez correctement implémenté le modèle, que vos données proviennent d'une base de données ou d'un serveur LDAP, la vue l'affichera correctement. Étant donné que les trois composants d'une application utilisant MVC s'excluent mutuellement, la modification de l'un d'eux n'affectera pas les deux autres, vous pouvez donc construire de bons composants faiblement couplés sur la base de cette idée de conception.
Pour moi, le contrôleur offre également un avantage, c'est-à-dire qu'il peut être utilisé pour connecter différents modèles et vues pour répondre aux besoins de l'utilisateur. De cette manière, le contrôleur peut fournir un outil puissant pour construire des applications. . moyens. Compte tenu de certains modèles et vues réutilisables, le contrôleur peut sélectionner le modèle à traiter en fonction des besoins de l'utilisateur, puis sélectionner la vue pour afficher les résultats du traitement à l'utilisateur.
Inconvénients de MVC
L'inconvénient de MVC est qu'il n'est pas très facile de comprendre pleinement MVC car il n'a pas de définition claire. L’utilisation de MVC nécessite une planification minutieuse et, comme ses principes internes sont complexes, il faut un certain temps pour y réfléchir.
Vous devrez consacrer beaucoup de temps à réfléchir à la manière d'appliquer MVC à votre application. Dans le même temps, en raison de la séparation stricte du modèle et de la vue, cela rend également le débogage de l'application difficile. Chaque composant doit être minutieusement testé avant utilisation. Une fois vos composants testés, vous pouvez les réutiliser sans souci.
D'après mon expérience personnelle, puisque l'on divise une application en trois parties, utiliser MVC signifie également que vous devrez gérer plus de fichiers qu'avant, ce qui est une évidence. Cela peut donner l’impression que notre charge de travail a augmenté, mais n’oubliez pas que ce n’est rien comparé aux avantages que cela peut nous apporter.
MVC ne convient pas aux applications de petite ou même de moyenne taille. Passer beaucoup de temps à appliquer MVC à des applications qui ne sont pas très volumineuses entraînera généralement plus de pertes que de gains.
MVC est un bon moyen de créer des logiciels
Le modèle de conception MVC est un bon moyen de créer des logiciels. Il préconise certains principes, tels que le contenu et l'affichage. plus facile à comprendre s’ils sont séparés les uns des autres. Mais si vous souhaitez isoler les composants du modèle, de la vue et du contrôleur, vous devrez peut-être repenser votre application, notamment ses aspects architecturaux. Si vous êtes prêt à accepter MVC et avez la capacité de gérer le travail supplémentaire et la complexité qu'il entraîne, MVC amènera votre logiciel à un nouveau niveau en termes de robustesse, de réutilisation du code et de structure.
Pour plus de contenu lié à la programmation, veuillez faire attention à la colonne Vidéo de programmation du site Web chinois php !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!