Pregunta

He estado anidando mis clases de viewdata dentro de mis controladores y, a medida que aumentan sus números, empiezo a preguntarme si es una buena idea. Por otra parte, algo sobre la contaminación de los directorios / Vistas y / Controladores con estas cosas parece deshabilitado.

¿Hay alguna convención que me esté perdiendo aquí? Tal vez un directorio / ViewData? idk, ¿cuáles son algunas buenas ubicaciones para mis clases de viewdata?

¿Fue útil?

Solución

Hice exactamente lo que estás sugiriendo, tengo mi viewdata fuertemente tipado viviendo en / ViewData. Pensé en ponerlo en el directorio \ Model pero no me gusta que mis proyectos tengan demasiados directorios anidados. \ ViewData también es lo que hace Kigg .

Otros consejos

No sé de una convención. Acabo de poner el mío en /Model/ViewModel/BlahViewModel.cs , etc. No los pondría en un proyecto separado hasta que hubiera una necesidad específica para eso. No sería difícil moverlos más tarde si fuera necesario.

Puse mis clases de datos de vista en un proyecto dedicado a eso. Son DTO, y al colocarlos en su propio proyecto se exige que no dependan de nada en las capas arquitectónicas.

Usarlos como DTO para enviar a las vistas es solo una forma de ponerlos en uso. Podría enviarlos por el cable en algún momento, dentro de un mensaje en un bus de servicio o lo que sea.

ya que está utilizando MVC y la estructura de carpetas debe representar la estructura de espacio de nombres de su código que recomendaría para cada uno de sus dominios de objetos, debería agrupar sus controladores, modelos y servicios en carpetas separadas

utilizaríamos

  • DomainName

         Controllers
         Model
         Services
    
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top