Pregunta

En asp / net MVC, el proyecto se divide en Modelos, Vistas y Controladores. Bien hasta ahora.

Digamos que tengo una 'persona' de Clase, que el controlador de personas rellena con datos, utilizando el modelo de persona.

¿Dónde es mejor poner mi clase person.cs? ¿En los controladores o la carpeta de modelos? ¿Qué haces?

Gracias

Frank

¿Fue útil?

Solución

Crearía otro proyecto de biblioteca de clases en la solución, definiría mis clases y luego haría referencia a mi biblioteca en mi aplicación ASP.Net MVC.

WebApp Solution
|-MyMVCProject
  |-Models
  |-Controllers
  |-Views
|-MyMVCProject.Domain (you'd put your models here)
  |-Person.cs
|-MyMVCProject.Services (you'd put entity services here)

Otros consejos

Consideraría a Person un modelo y lo pondría en la carpeta Modelos. Aquí es donde mantengo mis modelos de vista. Los modelos de negocios normalmente se mantienen en un proyecto de datos separado: me gusta que mi capa de datos sea autónoma para poder usarla en otros proyectos si lo deseo. Es posible que desee considerar la creación de bibliotecas de clases separadas para otros tipos de clases: métodos de extensión, ayudantes, etc. que no encajan en la categoría de controladores o modelos.

Actualmente trabajando en proyectos bastante grandes, tengo mis clases divididas en diferentes proyectos de biblioteca de clases que se denominan Repositorio (para interfaces de acceso a datos y clases de datos empresariales), Utils (para clases de utilidad) y DataAccess (implementaciones de interfaces de repositorio). Debajo de esos, los tengo divididos en subdirectorios (o debería decir espacios de nombres) y luego uso Resharper para aplicar esos espacios de nombres.

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