ASP.NET MVC no escapa a esta tendencia y también ofrece su enfoque de convención sobre configuración, haciendo de su forma de trabajo mucho más rápida y sencilla para el desarrollador.
Estructura de Carpetas de ASP.NET MVC
Debido a que ASP.NET MVC está basado en modelo – vista - controlador, tendremos en nuestra estructura del framework, las carpetas reservadas para colocar estos elementos, sus nombres corresponden a las siglas en inglés, por lo que en Models tendremos los modelos de la aplicación, en Controllers se alojarán a los controladores y por último en Views están las vistas.
Veamos la siguiente imagen para tener una panorámica de la estructura de ASP.NET MVC:
Si nos fijamos detenidamente, vemos que en la carpeta Views tenemos otras carpetas, cada carpeta corresponde con un controlador y modelo, excepto la carpeta Shared, esta última es una carpeta compartida, dentro podremos colocar vistas que son accesibles por cualquier vista o controlador de nuestra aplicación.
Convención de Nombres
Siguiendo con la imagen podemos ver las convenciones de nombres, iniciemos con los controladores, si vemos tenemos dos controladores en la imagen, AccountController.cs y HomeController.cs, en ASP.NET MVC debemos finalizar los nombres de los archivos de los controladores con el sufijo Controller, esto hace que cuando nuestra aplicación sea iniciada, el motor del framework pueda cargar cada controlador y así dentro de nuestro código no tengamos que estar haciendo inclusiones extras.
Tenemos otras carpetas dentro de la estructura, cada una tiene su finalidad, al seguir las convenciones, podemos lograr una legibilidad de nuestro proyecto muy alta, el día en que necesitemos compartir el trabajo con otro equipo de desarrollo si hemos seguido el enfoque de convenciones, podremos integrarnos de una forma más sencilla y con la menor cantidad de contratiempos posibles.
Con esto finalizamos este tutorial, ya sabemos que significa la convención sobre la configuración y podremos aumentar nuestra productividad al concentrarnos en la lógica y desarrollo de nuestra aplicación evitándonos los tediosos procesos de configuración para casos estándar.