2009-06-25 12 views
7

Estoy acostumbrado a tener métodos estáticos en la carpeta App_Code, esta carpeta ya no está disponible en la plantilla MVC. Estos métodos estáticos los uso en todo el sitio.Dónde pongo métodos comunes en la aplicación MVC

¿Cómo se hace en MVC, cuál es la mejor práctica?
¿Cómo se llaman los métodos comunes?

Respuesta

8

Normalmente tendré uno o más proyectos de biblioteca de clases en la misma solución para mantener clases auxiliares. Cree sus clases en un proyecto de biblioteca de clase, luego haga referencia a la DLL de ese proyecto en su aplicación web MVC. La excepción a esto sería cualquier modelo, real o solo de vista. Estos podrían colocarse en la carpeta Modelos.

+0

De hecho, termino poniendo mi modelo en un ensamblaje por separado y tengo mi ViewModel en mi carpeta de modelos. Pero eso no es ni aquí ni allá en términos de la pregunta. – Sekhat

+0

Esa es mi práctica también. – tvanfosson

1

Como @tvanfosson dijo que tiene un proyecto diferente y tiene todas sus bibliotecas de clase allí, pero si quiere hacerlo simple puede crear una carpeta dentro de su proyecto y guardar todos sus archivos .cs/.vb dentro de la carpeta

1

Mis métodos generalmente caen en 3 áreas en MVC; métodos comerciales, flujo del controlador y presentación.

Mis métodos de negocio van en los servicios, si hay una lógica global, la consolido en un solo servicio, tal vez con un grupo de servicios ocultos detrás.

Para la lógica del controlador creo métodos de extensión contra el controlador.

Para la presentación se crea métodos de extensión unidos a la ayuda HTML y llamarlos con <% = Html.MyCustomPresentationMethod()%>

5

Normalmente suelo hacer una llamada Utilidad de clase que contiene métodos estáticos que no parecen encajar en cualquier otro lugar.

5

Depende del tamaño de su aplicación. Para aplicaciones pequeñas solo cree una carpeta y coloque sus clases dentro de ella; Si tienes muchas clases, crea proyectos separados para ellas.

Cuestiones relacionadas