Question

Dans la structure du dossier MVC, où les fichiers de classe doivent résider en général? Par exemple, j'ai une classe qui détermine le droit DataContext à utiliser, donc je ne suis pas réinventer la roue dans chacun de mes contrôleurs. Faut-il vivre dans le dossier des contrôleurs, même si ce n'est pas un contrôleur? Devrait-il être avec les modèles, car il est la base de données liée, même si ce n'est pas un modèle? Peut-être les Views \ dossier partagé? Ou est contenu fourre-tout dossier pour ce genre de choses? Je suis sûr que je pourrais le mettre partout, mais je me demandais si le lieu « droit » est.

Était-ce utile?

La solution

Il est pas un contrôleur, le contenu ou une vue, il ne faut pas utiliser celles-ci. Il semble plus étroitement lié à votre modèle, vous pouvez donc le mettre dans le modèle sous un sous-dossier appelé « Helpers » ou « utilitaire » ou une telle. Vous pouvez également ajouter un autre dossier de niveau supérieur appelé les services et le mettre là. C'est là que je mets toute ma logique d'application, l'homme du milieu entre les contrôleurs et le modèle.

Autres conseils

Si vous regardez MVC Storefront Rob: projet bibliothèque de classes séparées (comme Commerce.MVC.Data)

S'il pourrait être utile par lui-même (pensez à un outil de ligne de commande construit autour de lui), le mettre dans le dossier Modèles. Si elle est utilisée uniquement comme une aide pour les contrôleurs, le mettre dans le dossier des contrôleurs.

Cela dépend vraiment de ce qu'il fait, si elle accède à des données, il devrait être dans la couche d'accès aux données, sinon vous pouvez le mettre dans le dossier du contrôleur.

Avoir un ensemble de DataAccess séparé, faire cette classe interne et appeler DataContextFactory.

dmajkic,

Pourquoi séparer dehors dans sa propre région? Si son code BLL, il devrait être dans le dossier du contrôleur, si son élément lié DAL il devrait être dans le modèle. Je peux comprendre si un projet obtient énorme et que vous voulez créer des sous-dossiers, qui ne devrait pas être un problème. Mais placer le code dans un autre niveau défaites vraiment le but de MVC ne pensez-vous pas?

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