Je suis étudiant mais j'espère que je vais bientôt entrer dans l'industrie du logiciel. Il semble y avoir beaucoup de battage médiatique sur le modèle de logiciel MVC. J'ai remarqué que les frameworks PHP sont souvent MVC, qu'en est-il des langages non-web .. est-ce la même chose avec eux? Pour ma thèse de master (C ++), j'ai choisi le modèle MVC car il sépare bien la logique et l'interface utilisateur.
Dans l'industrie, est-il beaucoup utilisé? Si oui, quelles sont les principales raisons et quelles sont les autres conceptions concurrentes et populaires?
Réponses:
MVC obtient beaucoup de battage médiatique et d'utilisation car c'est un modèle très utile pour son domaine.
MVC encourage la séparation des préoccupations. Cela peut simplifier le développement s'il est bien fait. Toute application qui affiche et / ou modifie des données contenues dans une banque de données aura la fonctionnalité MVC, mais elle ne peut pas être séparée. Ne pas diviser les composants est susceptible d'introduire un couplage indésirable entre les problèmes.
Avec MVC, il devrait être relativement facile de changer l'interface frontale (View) d'une application sans modifier ni le contrôleur ni le modèle. Cela peut être souhaitable si vous devez autoriser l'accès à partir d'un smartphone, du Web et d'une ou plusieurs applications.
Pour les grandes équipes, MVC peut permettre une meilleure utilisation des ressources car les développeurs peuvent être chargés de travailler dans l'une des couches et peuvent ne pas avoir besoin de beaucoup de compétences dans les autres couches. Selon les frais généraux de coordination des ressources, cela peut être plus efficace.
la source
Oui, il est beaucoup utilisé. Les applications iPhone / iPad sont toutes configurées en tant que MVC. J'ai vu beaucoup d'applications asp.net MVC récemment.
MVC permet plus de flexibilité sur la route et encourage vraiment les développeurs à écrire du code séparé pour chaque fonction. Rend plus facile à entretenir.
la source
C'est en vogue en ce moment.
Ne sous-estimez jamais le pouvoir du battage médiatique. Bientôt, quelqu'un trouvera quelque chose d'autre plus récent, plus brillant et plus facile à comprendre, et tout le monde décriera MVC comme la racine de tout mal (arrivé aux formulaires Web), ou il y aura tellement de gens qui l'utiliseront que les vétérans les plus grizzlés le décrions comme une chose "gestion bull * * " (arrivé à XML). Ou il y aura un changement vers un autre modèle parce que MVC "n'est pas assez flexible pour le problème super dur que je dois résoudre" (langages de type statique vs langages dynamiques).
En fin de compte, MVC est une approche de cadre qui convient à un certain nombre de problèmes que la programmation Web soulève. Il existera pendant un certain temps, mais j'imagine que la plupart des gens l'utilisent pour être conforme aux mots à la mode.
ÉDITER
Veuillez noter: Je suis bien conscient que le modèle MVC existe depuis des années et a été utilisé sur les frameworks avant asp.net MVC. Je dis simplement que c'est assez populaire en ce moment, donc cela reçoit plus de presse que d'autres approches. J'utilise MVC pour tous mes projets personnels et je l'utilise également sur des projets commerciaux (je suis développeur .net).
Ce n'était pas une diatribe.
la source
D'après mon expérience, il n'est pas utilisé autant qu'il le devrait. C'est un modèle bien meilleur que certaines des alternatives, mais il ne fait que beaucoup de battage médiatique au cours des dernières années; à cause de cela, il y a beaucoup d'héritage que les gens ont peur de convertir en MVC ou ont peur d'utiliser MVC pour de futurs travaux parce que c'est en dehors de leur zone de confort.
la source
Je pense que vous constaterez que la famille Stack Exchange fonctionne sur MVC
la source
ASP.NET MVC a acquis une grande importance pour les applications Web, car .NET est beaucoup utilisé dans l'industrie.
Les applications Web de Microsoft sont passées de l'ASP classique à ASP.NET, qui est basé sur les formulaires Web (pour permettre aux développeurs VB6 Win Forms de compétences devaient déjà être facilement traduits à la nouvelle frontière du Web).
Malheureusement, les formulaires Web sont basés sur l'état et HTTP (sur lequel le Web est basé) est sans état, donc de nombreuses solutions de contournement désagréables en raison de choses comme les états d'affichage étaient nécessaires.
ASP.NET MVC permet de traduire les compétences des développeurs WebForms en un framework Web qui a un bon SoC et qui a fait beaucoup d'efforts pour être testable (puisque WebForms n'est pas très testable, l'équipe MVC a mis beaucoup de effort dans le cadre).
Cela dit, ce n'est pas une panacée / solution miracle, et comme tout cadre, il y a des moments pour l'utiliser et des fois pour ne pas l'utiliser. J'espère que les gens ne l'utiliseront pas pour tout résoudre, après tout: quand votre seul outil est un marteau, chaque problème ressemble à un clou.
la source
Ce n'est qu'un moment de l'histoire car MVC est un couple de concepts très très simples qui ont reçu un battage médiatique de la part de quelques cadres spécifiques qui le mettent en évidence dans leur matériel marketing. Il arrive aussi de jive avec la plupart des bonnes pratiques qui ont émergé dans le développement de logiciels. Cela s'applique double pour le développement pseudo-état tel que HTTP; à tel point que je ne connais qu'un autre "modèle" vraiment différent qui est utilisé dans le monde du Web - le modèle basé sur les événements ASP.Net WebForms, très décrié.
Je suis honnêtement un peu surpris qu'il y en ait assez pour toute une thèse.
Mais pour répondre à votre question. WebForms est une tranche étroite de la tarte Web qui fait principalement sa place dans les applications commerciales intranet. Les pages codées en spaghetti sans motif réel constituent probablement une quantité décente du diagramme de Venn, mais à peu près tout ce qui est un cadre est au moins fortement influencé par MVC, donc votre réponse courte serait un OUI retentissant .
la source