Question

J'ai imbriqué mes classes viewdata dans mes contrôleurs et, à mesure que leur nombre augmente, je commence à me demander si c'est une bonne idée. Là encore, quelque chose à propos de polluer les répertoires / Views et / Controllers avec ces choses semble éteint.

Y at-il une convention qui me manque ici? Peut-être un répertoire / ViewData? idk, quels sont les bons emplacements pour mes classes viewdata?

Était-ce utile?

La solution

J’ai fait exactement ce que vous suggérez, j’ai mes viewdata fortement typées vivant dans / ViewData. J'ai pensé à le placer dans le répertoire \ Model, mais je n'aime pas que mes projets comportent trop de répertoires imbriqués. le \ ViewData est également ce que Kigg fait.

Autres conseils

Je ne connais pas de convention. Je viens de mettre le mien sous /Model/ViewModel/BlahViewModel.cs , etc. Je ne les placerais pas dans un projet séparé tant que cela ne serait pas nécessaire. Il ne serait pas difficile de les déplacer plus tard si nécessaire.

Je mets mes classes de données de vue dans un projet dédié à cela. Ce sont des DTO, et les mettre dans leur propre projet implique qu’ils ne dépendent de rien au-dessus des couches architecturales.

Les utiliser comme DTO pour diffuser des vues n’est qu’un moyen de les utiliser. Je pourrais les envoyer sur le réseau un certain temps, dans un message sur un bus de service ou autre chose.

puisque vous utilisez MVC et que la structure de dossiers doit représenter la structure d'espaces de noms de votre code, je vous recommande de regrouper vos contrôleurs, modèles et services dans des dossiers distincts

nous utiliserions

  • DomainName

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