9
votes

Qu'est-ce qu'un cadre MVC et pourquoi est-il nécessaire / utile?

Je sais qu'un cadre MVC vous permet de séparer la logique commerciale, l'accès à la base de données et la présentation, mais pourquoi avons-nous besoin d'un cadre pour le faire?

Ne pouvons pas simplement garder nos classes séparées, peut-être utiliser différents forfaits / dossiers pour les classes de modèle, de visualisation et de contrôleur?


0 commentaires

9 Réponses :


5
votes

Un cadre MVC est un cadre écrit pour scinder la logique commerciale, l'accès à la base de données et la présentation.

Ceci est très utile dans la plupart des applications Web, et maintenant récemment dans des applications logicielles / de bureau.

Ceci est dû au fait que, à la suite du modèle MVC, votre code sera beaucoup plus clair, plus propre et que vous gardez votre application sèche (ne vous répétez pas).

Vous pouvez écrire vos propres cours et les séparer dans le modèle, la vue et le contrôle. Mais encore une fois, vous aurez besoin d'un cadre pour vous aider à accomplir certaines tâches. Comme un contrôle de liste dans ASP.NET, ou PHP Framework étant capable de vous aider à traduire le texte entre les langues et ainsi de suite. (Oh pourquoi réinventer la roue ?!)


1 commentaires

Le MVC d'origine a été conçu pour prendre en charge les applications classiques basées sur le texte et les applications de bureau ultérieures. Son avènement dans le World Web est beaucoup plus récent, et généralement le dernier à obtenir des cadres MVC utiles.



1
votes

Vous pouvez bien sûr approcher-le vous-même en séparant vos cours. Un cadre fournit des échafaudages communs que vous n'auriez pas à vous construire. Mais cela imposera également une certaine structure sur votre code. Vous devrez évaluer si le cadre contribue à plus que cela ne fait mal.


0 commentaires

3
votes

MVC et cadre est une chose différente. MVC n'est qu'un modèle architectural, qui peut être appliqué avec n'importe quel projet, avec ou sans cadre.

Donc, vous n'avez pas besoin d'un cadre pour le faire. Vous pouvez les séparer par vous-même. :)


0 commentaires

16
votes

À mon avis, la chose dont vous parlez est le modèle MVC et non un cadre spécifique. Bien sûr, vous pouvez utiliser toutes vos classes dans un seul projet et utiliser toujours le motif MVC, car vous avez tous votre code d'interface utilisateur dans les vues, la logique des contrôleurs, ...

Une framework MVC d'autre part facilite la tâche que vous utilisez ce modèle. Il peut fournir des classes de base pour les contrôleurs et un mécanisme de communication entre la vue et le contrôleur.

Je ne sais pas si vous connaissez ASP.NET MVC. Le cadre lui-même est très petit, mais cela vous aide à développer une application avec le modèle MVC, car vous n'avez pas de penser aux zones précédemment décrétées ...

J'espère que cela aide


0 commentaires

0
votes

Vous êtes correct, il existe des stratégies que vous pouvez mettre en œuvre pour aider à la séparation des préoccupations sans utiliser MVC.

Le cadre ASP.NET MVC de Microsoft est une stratégie qui peut être utilisée, et c'est ce que je pense que vous demandez. Ce cadre MVC rend la séparation de ces préoccupations facile.

L'autre avantage majeur de MVC est Testabilité - (dépend de la question de savoir si vous croyez aux tests de l'unité - je le fais).
Le cadre MVC garantit que la logique d'orchestration est sur vos contrôleurs et via la collection FormControls permettant de tester un appareil complet de tous les aspects de votre application, à l'exception de la manière dont elle est présentée.

Comme le cadre MS MVC encourage l'adhésion aux règles et à la structure communes de la demande qui devrait conduire à une main-d'œuvre supérieure . .

L'inconvénient majeur de MVC est le tissage de code de code de code requis pour la présentation, mais cela peut être facilement surmonté.


0 commentaires

0
votes

Peut-être que c'est juste une chose linguistique. J'ai vu des "cadres" se référant à eux-mêmes comme une langue spécifique DSL - domaine.

Et vous ne avez pas besoin un cadre, mais voici quelque chose à considérer: vous savez déjà pour une application Web que vous allez faire quelques choses courantes ... URL de route, Render pages, etc. Pourquoi ré-écrire tout cela? Pour d'autres domaines de problèmes, vous aurez des choses génériques à faire aussi.


0 commentaires

0
votes

HAI AMIS Il y a des types de châssis de l'architecture de Hai, il y a eu des types de châssis de l'architecture, je connais tout d'abord le travail de cadence 2 de 3 niveaux, le cadre d'entité 3 niveaux et MVC, sont identiques, mais à différents noms, étudiez donc un bon fond de quelqu'un ARCHITECTURE Ther part si vous êtes allé sur des sociétés multinationales, vous pouvez facilement marquer / mettre en évidence votre carrer. XXX


0 commentaires

3
votes

MVC signifie "Modèle" "Vue" "Contrôleur". ASP.NET MVC est une architecture pour développer des applications Web ASP.NET de manière différente de celle du développement Web ASP.NET traditionnel. Les applications Web développées avec ASP.NET MVC sont encore plus respectueuses de SEO (moteur de recherche). Développer une application ASP.NET MVC nécessite Microsoft .NET Framework 3.5 ou supérieur.

modèle:

  • MPC Model est essentiellement une classe C # ou VB.NET.
  • Un modèle est accessible par contrôleur et vue.
  • Un modèle peut être utilisé pour Passez les données du contrôleur à voir.
  • Une vue peut utiliser le modèle à afficher Données dans la page.

    vue:

    • la vue est une page ASPX sans avoir un code derrière le fichier.
    • Toutes les formatage de la génération HTML et de la mise en forme peuvent être effectuées à l'intérieur de la page.
    • On peut utiliser le code en ligne (balises de serveur) pour développer des pages dynamiques.
    • Une demande d'affichage (page ASPX) peut être faite uniquement à partir d'une méthode d'action d'un contrôleur

      contrôleur:

      • contrôleur est essentiellement une classe C # ou VB.NET qui hérite du système.mvc.controller.
      • Le contrôleur est un cœur de l'ensemble de l'architecture MVC.
      • Les méthodes d'action de la classe de contrôleur à l'intérieur peuvent être implémentées qui sont responsables de la réponse au navigateur ou de l'appel des vues.
      • Contrôleur peut accéder et utiliser la classe de modèle pour transmettre des données aux vues
      • Controller utilise ViewData pour transmettre toutes les données à afficher.

        architecture de base mvc


2 commentaires

Je sais que c'est tout à fait un ancien poste, mais cette explication de MVC est la meilleure que j'ai entendue encore, après avoir du mal à apprendre MVC pendant plusieurs semaines maintenant.


@Dannygoodall mon plaisir



2
votes

MVC est un style d'architecture de l'organisation de code pour organiser votre logique de code de manière significative pour les applications Web. En tant que programmeur, j'ai presque vécu lorsque j'ai hérité du code des autres lorsque leur logique de code est sur place et que leur code d'application Web se transforme en un lapin dans le trou de gouttière. Pourquoi mvc? Hmm Il augmente la lisibilité du code. Avec MVC, il devient très facile de suivre la logique de code puisque vous suivez la structure standard pour une application Web. La logique commerciale est séparée de l'interface utilisateur. Plus facile de déléguer le travail de découplage de travail sur un projet.


0 commentaires