Maison développement back-end tutoriel php Qu'est-ce que le framework MVC ? Voici les réponses pour vous_Conseils pratiques

Qu'est-ce que le framework MVC ? Voici les réponses pour vous_Conseils pratiques

Dec 15, 2017 am 11:42 AM
mvc mvc框架 框架

MVC est un modèle de conception qui impose la séparation de l'entrée, du traitement et de la sortie de l'application. Cet article présente en détail ce qu'est le framework MVC et a une certaine valeur de référence. Les amis intéressés par MVC peuvent se référer à

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 Modèle-Vue-Contrôleur 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 à l'ancienne, la vue est une interface composée d'éléments HTML Dans les applications Web de style nouveau, le HTML joue toujours un rôle important dans la vue, mais de nouvelles technologies ont émergé les unes après les autres. , ils incluent Macromedia Flash et certains langages de balisage et 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 également ê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. En même temps, puisque le modèle et la vue doivent être strictement séparés, 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 crainte.

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 évident. 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. Certains des principes qu'il préconise, tels que It. peut être plus facile à comprendre si le contenu et l’affichage sont séparés l’un de l’autre. 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 apporte, MVC amènera votre logiciel à un nouveau niveau en termes de robustesse, de réutilisation du code et de structure.

Recommandations associées :

Qu'est-ce que le framework MVC

Comment implémenter la fonction de routage du framework MVC de PHP.

Expliquez en détail comment le sélecteur de numéro de page généré par MVC renvoie le code HTML ?

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment évaluer la rentabilité du support commercial des frameworks Java Comment évaluer la rentabilité du support commercial des frameworks Java Jun 05, 2024 pm 05:25 PM

L'évaluation du rapport coût/performance du support commercial pour un framework Java implique les étapes suivantes : Déterminer le niveau d'assurance requis et les garanties de l'accord de niveau de service (SLA). L’expérience et l’expertise de l’équipe d’appui à la recherche. Envisagez des services supplémentaires tels que les mises à niveau, le dépannage et l'optimisation des performances. Évaluez les coûts de support commercial par rapport à l’atténuation des risques et à une efficacité accrue.

Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Jun 06, 2024 pm 12:41 PM

La courbe d'apprentissage d'un framework PHP dépend de la maîtrise du langage, de la complexité du framework, de la qualité de la documentation et du support de la communauté. La courbe d'apprentissage des frameworks PHP est plus élevée par rapport aux frameworks Python et inférieure par rapport aux frameworks Ruby. Par rapport aux frameworks Java, les frameworks PHP ont une courbe d'apprentissage modérée mais un temps de démarrage plus court.

Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Jun 06, 2024 am 10:53 AM

Le framework PHP léger améliore les performances des applications grâce à une petite taille et une faible consommation de ressources. Ses fonctionnalités incluent : une petite taille, un démarrage rapide, une faible utilisation de la mémoire, une vitesse de réponse et un débit améliorés et une consommation de ressources réduite. Cas pratique : SlimFramework crée une API REST, seulement 500 Ko, une réactivité élevée et un débit élevé.

Comparaison des performances des frameworks Java Comparaison des performances des frameworks Java Jun 04, 2024 pm 03:56 PM

Selon les benchmarks, pour les petites applications hautes performances, Quarkus (démarrage rapide, mémoire faible) ou Micronaut (TechEmpower excellent) sont des choix idéaux. SpringBoot convient aux grandes applications full-stack, mais a des temps de démarrage et une utilisation de la mémoire légèrement plus lents.

Bonnes pratiques en matière de documentation du framework Golang Bonnes pratiques en matière de documentation du framework Golang Jun 04, 2024 pm 05:00 PM

La rédaction d'une documentation claire et complète est cruciale pour le framework Golang. Les meilleures pratiques incluent le respect d'un style de documentation établi, tel que le Go Coding Style Guide de Google. Utilisez une structure organisationnelle claire, comprenant des titres, des sous-titres et des listes, et fournissez la navigation. Fournit des informations complètes et précises, notamment des guides de démarrage, des références API et des concepts. Utilisez des exemples de code pour illustrer les concepts et l'utilisation. Maintenez la documentation à jour, suivez les modifications et documentez les nouvelles fonctionnalités. Fournir une assistance et des ressources communautaires telles que des problèmes et des forums GitHub. Créez des exemples pratiques, tels que la documentation API.

Comment choisir le meilleur framework Golang pour différents scénarios d'application Comment choisir le meilleur framework Golang pour différents scénarios d'application Jun 05, 2024 pm 04:05 PM

Choisissez le meilleur framework Go en fonction des scénarios d'application : tenez compte du type d'application, des fonctionnalités du langage, des exigences de performances et de l'écosystème. Frameworks Go courants : Gin (application Web), Echo (service Web), Fibre (haut débit), gorm (ORM), fasthttp (vitesse). Cas pratique : construction de l'API REST (Fiber) et interaction avec la base de données (gorm). Choisissez un framework : choisissez fasthttp pour les performances clés, Gin/Echo pour les applications Web flexibles et gorm pour l'interaction avec la base de données.

Quels sont les malentendus courants dans le processus d'apprentissage du framework Golang ? Quels sont les malentendus courants dans le processus d'apprentissage du framework Golang ? Jun 05, 2024 pm 09:59 PM

Il existe cinq malentendus dans l'apprentissage du framework Go : une dépendance excessive à l'égard du framework et une flexibilité limitée. Si vous ne respectez pas les conventions du framework, le code sera difficile à maintenir. L'utilisation de bibliothèques obsolètes peut entraîner des problèmes de sécurité et de compatibilité. L'utilisation excessive de packages obscurcit la structure du code. Ignorer la gestion des erreurs entraîne un comportement inattendu et des plantages.

Explication pratique détaillée du développement du framework Golang : questions et réponses Explication pratique détaillée du développement du framework Golang : questions et réponses Jun 06, 2024 am 10:57 AM

Dans le développement du framework Go, les défis courants et leurs solutions sont les suivants : Gestion des erreurs : utilisez le package d'erreurs pour la gestion et utilisez un middleware pour gérer les erreurs de manière centralisée. Authentification et autorisation : intégrez des bibliothèques tierces et créez un middleware personnalisé pour vérifier les informations d'identification. Traitement simultané : utilisez des goroutines, des mutex et des canaux pour contrôler l'accès aux ressources. Tests unitaires : utilisez les packages, les simulations et les stubs gotest pour l'isolation, ainsi que les outils de couverture de code pour garantir la suffisance. Déploiement et surveillance : utilisez les conteneurs Docker pour regrouper les déploiements, configurer les sauvegardes de données et suivre les performances et les erreurs avec des outils de journalisation et de surveillance.

See all articles