2009-07-14 6 views
4

Comment séparer les contrôleurs d'un site ASP.NET MVC? Par exemple, le projet par défaut a un HomeController et un AccountController. Devrait-il y avoir un contrôleur pour chaque section du site, ou autre chose? J'apprends à utiliser le framework MVC et toute aide serait appréciée.Fractionnement des automates ASP.NET MVC

Répondre

1

Je pense que cela dépend de la taille de votre site. Avoir des noms logiques pour vos contrôleurs est la partie la plus importante, rendant votre source facile à naviguer est très important.

Généralement, je crois que c'est une bonne idée de sortir une feuille du livre CRUD si vous n'êtes pas sûr, surtout si vous avez affaire à un modèle de données qui le supporte. Pour un module particulier (par exemple, les produits), vous auriez un contrôleur responsable de créer, lire, mettre à jour et supprimer (ainsi que l'index pour l'affichage). Si votre site est moins CRUDDY (comme Stack Overflow probablement), alors diviser les contrôleurs en zones logiques (comme peut-être "PostController", "SearchController" et ainsi de suite) pourrait être plus utile, mais c'est vraiment le cas Cela dépend de votre site et de son architecture.

Désolé je ne peux pas être plus utile, dans la plupart des cas, il est préférable d'apprendre en faisant de toute façon. Si vous êtes nouveau, adoptez l'approche qui, selon vous, est la meilleure, en fonction des suggestions et des exemples que vous avez vus. Un bon réflexe à propos de .NET et ASP.NET MVC est que le refactoring plus tard est assez facile.

0

La manière classique de procéder est de diviser les contrôleurs de la même manière que vous divisez vos vues. Exemple:

/Vues/Accueil a Index, inscrivez-vous et contactez vue alors vous auriez un HomeController

/Vues/produit a Afficher et Liste des vues vous auriez un ProductController

Le plus simple manière est 1 contrôleur pour chaque dossier dans le dossier Views.

0

Il n'y a pas de règle spécifique en tant que telle, quant à savoir quand créer un nouveau contrôleur. Vous pouvez créer un nouveau contrôleur si vous pensez qu'il va contrôler une section différente du site Web.

Fondamentalement, en ayant beaucoup de contrôleurs, on peut logiquement diviser le site en différentes sections.

Questions connexes