Question

En plus d'être un modèle de 30 ans, MVC n'a jamais été destiné à des applications actuelles. MVP était son successeur et conçu pour gérer les applications basées sur des événements à venir dans les années 90. Voir le passif et le contrôleur de supervision semblent avoir atteint le sommet. Pour les deux, presque n'est pas nécessaire de parler de MVC / MVP.

Plus précisément, est l'action du contrôleur dans ASP.NET MVC qui ramène une vue créer ce point de vue? Dans MVC, le contrôleur ne crée pas les vues ou parler de nouveau à eux. Quelle est la précision pour appeler ASP.NET MVC une implémentation MVC? Ou, quel serait un nom précis pour elle?

Était-ce utile?

La solution

Je pense qu'il est Ruby on Rails qui ont inspiré MS pour créer asp.net MVC.

Autres conseils

ASP.NET MVC est tout simplement la reconnaissance de Microsoft de la réussite de la mise en œuvre dans les cadres MVC Web comme Ruby on Rails et Django. La prise de conscience que de nombreux développeurs web aimeraient une plus approche pratique pour le développement web qui embrasse le modèle de programmation « dogmatiques » (convention sur la configuration) et s'égare loin de l'abstraction stateful que ASP.NET WebForms fournit.

Est-ce une implémentation exacte du modèle MVC Smalltalk? Non. Est-ce un résultat de panique? Non. Est-ce un résultat du succès des deux Ruby on Rails et Django? Oui.

Je suis d'aimer ce modèle car il embrasse le cadre riche fourni par .NET et la pile d'ASP.NET tout en restant dans l'approche et minimalisme utilisation du développement fondée sur les conventions.

Assez proche, et il est une stratégie commerciale.

Ils vendent ASP.NET contre d'autres technologies qui s'identifient comme MVC. Il est donc utile de nommer la concurrence à être perçue dans la même catégorie.

Microsoft gagne plus souvent par le positionnement du produit que par l'identification des technologies précises. (Livraison non à long terme, à mon humble avis).

ScottGu à la réponse échappe à la première partie de son poste sur la première démonstration MVC ici . La réponse courte est que les gens ont demandé et Microsoft ont décidé d'aller avec elle. Il convient avec le modèle actuel .Net pour ajouter autant d'options que possible, ce qui permet le cadre d'atteindre un plus grand marché cible, et également fournir aux développeurs les outils pour le bon projet.

MVC mis en œuvre par ASP.NET MVC est pas le modèle MVC de vieux. Dans ce que je vais appeler « classique » MVC la vue est directe, mais en lecture seule, l'accès au modèle, dans ASP.NET MVC, il est considéré comme mauvaise forme pour accéder à votre modèle d'entreprise directement à partir de la vue. Qu'est-ce que vous vous retrouvez avec quelque chose de très bien comme contrôleur + passif superviseur Vue:

public class MvcExampleController : Controller
{
    public ActionResult ActionMethod(BoundInputData inputData)
    {
        var results   = DoActualWorkInTheModelWith(inputData);
        var viewModel = CreateViewModelFromThe(results);

        return View(viewModel);
    }
}

Pour moi, cela ressemble plus à un contrôleur de supervision que MVC classique. Une fois que le travail se fait dans le modèle, la vue est transmis une ViewModel (alias PresentationModel). Le ViewModel a généralement une relation 1 à 1 avec les éléments de l'interface utilisateur dans la vue et peut ou ne peut pas regarder quelque chose comme les objets du modèle réel. Une vue qui agit sur un ViewModel et non le modèle réel sent beaucoup comme une approche passive pour moi.

Je ne vais pas entrer dans si c'est une implémentation MVC « réel » ou non, mais si votre argument est que ASP.NET MVC ne pas utiliser les modèles de conception web moderne, je suis pas d'accord.

Best guess, tout le monde a entendu parler de MVC. MVC a été battu en tant que « meilleure pratique » pendant un certain temps tout à fait, et donc toute une génération (ou deux, ou trois) des développeurs voir MVC et penser à des choses.

En outre, beaucoup d'autres cadres épousent MVC dans une lumière similaire si Microsoft se sent probablement obligé de faire de même.

En bref, je doute fort qu'il ya une raison technique forte pour elle.

Vous pouvez rouler votre propre MVC avec le framework ASP.NET en cours et toujours garder le modèle postback.

http://www.codeproject.com/KB/aspnet/RollingYourOwnMVCwithASP.aspx

Ceci est une grande question, beaucoup de gens ont posé cette question dans les premiers jours de MVC. Voici la réponse de Phil Haack l'un des principaux développeurs du projet!

http://haacked.com/archive/0001/01/01/everything-you-wanted-to-know-about-mvc-and-mvp-but.aspx

Check it out, lisez les liens et aller de là.

En outre, une réponse au débat peut-être S # arp architecture. Ils ont construit une couche sur le dessus de MVC pour le rendre plus agir comme MVP. Check them out si vous cherchez soemthing dans ce sens.

Bonne chance!

Je pense que cela a été plus d'une « décision de marketing de panique », puis une décision technique. RoR est en train de voler des marchés chaque seconde et complètement paniqués MSFT, alors MSFT senti qu'ils devaient offrir quelque chose qui leur a donné l'occasion d'obtenir le battage médiatique de retour à « leur camp » à nouveau ...

De plus ils ont besoin pour aider leurs développeurs gagner bac Teir le respect de soi à nouveau en apprenant à associer ce mot hype avec eux-mêmes afin que les développeurs .Net pourrait se regarder dans le miroir sans avoir honte pour ce qu'ils ne savaient pas MVC depuis leur plate-forme de choix n'a pas fourni ce genre de modèle pour eux (hors de la boîte)

Pour un développeur moyennement qualifiés (.Net), il est vraiment difficile de ne pas se sentir comme un dinosaure quand un développeur RoR moyennement qualifiés tire en râteau et crée un pic en moins de 15 minutes, une preuve de travail et le fonctionnement de concept avant le. développeur net à partir vstudio.exe même terminé ...;)

Je suppose que ce point de vue controversé, mais il est à moi et je défendrai jusqu'à la fin amère ...;)

Il existe d'innombrables exemples aujourd'hui que oui, MVC et échafaudage vous donnera un coup de pouce vitesse initiale, oui. Mais pour maintenabilité, réutilisation de code, l'encapsulation et la plupart du temps tous les vraiment chose importante - MVC est tout simplement pas la « balle d'argent » et la plupart du temps WebForms sont de loin supérieurs à la longue (à moins utilisé comme toilettes papier bien sûr)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top