J'ai une application Web établie construite sous la forme d'une application Web ASP.NET 3.5. Nous l'avons récemment modifié pour mélanger MVC dans l'application pour de nouvelles fonctionnalités. Maintenant que c'est là-dedans, nous voulons tirer parti de MVC dans la mesure du possible pour commencer à «transformer» l'application à partir de formulaires Web clunky à une application MVC plus maintenable et testable.Que doivent représenter mes contrôleurs ASP.NET MVC - application "monde réel"
La question qui vient d'être posée en ajoutant de nouvelles fonctionnalités est de savoir quel contrôleur devrait être responsable d'une certaine action.
Permettez-moi d'être plus détaillé.
Le scénario implique au moins trois zones conceptuelles principales dans notre application. L'application doit pouvoir définir sa PREFERENCE pour une vue MAP par défaut lorsqu'elle est sur un écran de RECHERCHE. Préférences, cartes et recherche sont tous des concepts majeurs dans notre système. En outre, ce paramètre de préférence (essentiellement, où la carte devrait débuter) peut être utilisé pour définir la carte initiale dans plusieurs pages de recherche (il s'agit essentiellement d'une préférence de recherche).
Le contrôleur MVC existant dans l'application est un MAPCONTROLLER, avec 3 actions qui sont responsables de la génération de données HTML ou JSON à mettre sur une carte.
Ce que nous devons faire maintenant, est d'ajouter une route MVC (controller + action) pour permettre à la vue client d'enregistrer certaines informations selon leur préférence. Fondamentalement, chaque fois qu'ils sont sur la page de recherche en regardant une carte, ils peuvent cliquer sur un bouton qui dit «se souvenir de ceci comme vue de carte par défaut», et à partir de là, leur carte commencera toujours avec cette vue.
Ma question est (et je m'excuse, mais je voulais être très très clair, je vois trop de questions sans contexte pour aider). Que devrait représenter mon contrôleur? J'ai évidemment 3 grands domaines de système impliqués. Serait-il approprié de créer un nouveau contrôleur SEARCH ou PREFERENCES avec une action SaveDefaultMapView (aucune vue requise), ou piggyback sur le contrôleur MAP xistant, même si cette nouvelle fonction concerne plus la recherche et les préférences que la génération de cartes réelles? Un contrôleur MVC doit-il être aligné principalement sur l'écran (page de recherche/sous-système de recherche), sur le domaine/les données manipulées (préférences) ou sur l'élément visuel très spécifique examiné (carte)? Tous les exemples et les projets bootcamp sont tous très bien, mais ils sont beaucoup trop propre et simplifié pour s'appliquer à une application ancienne énorme. Comment concevoir leurs composants MVC autour d'un système qui intègre de nombreuses préoccupations de domaine dans une seule page Web?
Merci à tous!
Je n'ai pas été averti de cette publication parce que vous avez posté une réponse à votre question, plutôt qu'un commentaire sous ma réponse Faites une recherche Google pour le tutoriel NerdDinner et l'étudier .. Cela devrait aller un long chemin vers la réponse à toutes vos questions sur la façon d'organiser controlle rs. –