This article has been localized into Spanish by the community.
Introducción
En el capítulo previo, vimos en mayor detalle el C (Controller) y el V (View) del patrón MVC , así que en este capítulo, nos enfocaremos en el M (Model). Hablamos de esto al final porque tú puedes tener derecho un sitio web basado en el patrón MVC sin usar un modelo, aunque ese sería un sitio web muy simple.
¿Qué es un modelo?
Cómo discutimos en la parte del inicio rápido de este tutorial, donde agregamos un Controlador, una Vista y un Modelo a nuestro proyecto, el modelo en una aplicación MVC debe representar el estado actual de la aplicación, así como la lógica de negocios y/u operaciones. Un Modelo puede ser cualquier objeto encontrado en el framework. Éste podría de hecho ser un simple número o una cadena, o podría ser un objeto complejo instanciado de una clase, por ejemplo una clase User la cual contiene información sobre un usuario, un elemento GuestbookEntry la cual contiene un post a un libro de visitas o cualquier otra cosa. Esto también significa que tu Modelo puede ser una clase que ya tienes, por ejemplo algo que proviene desde la base de datos, o una clase que tú creaste específicamente para ser un Modelo para una o varias Vistas.
Un aspecto muy importante del patrón mvc es la separación de interés. Esto es logrado al encapsular la información dentro de una sección de código, haciendo cada sección modular, y teniendo un estricto control sobre cómo se comunica cada módulo. Para el patrón mvc, esto significa que tanto la vista como el controlador pueden depender del modelo, pero el modelo no depende ni de la vista ni del controlador. Esto convierte a tu modelo en un módulo que puede existir incluso afuera del framework mvc, por ejemplo en una aplicación de escritorio, y entonces esto tiene el beneficio adicional de permitirte que tus modelos sean probados sin la representación visual, esto es a través del uso de pruebas unitarias.
Cómo mencionamos, el modelo puede ser una clase ya definida en tu proyecto o puede ser una nueva clase que tu agregues específicamente para actuar como un modelo. Por lo tanto, los modelos en el framework ASP.NET MVC usualmente existen en la carpeta llamada "Models", o pueden venir desde afuera del proyecto, por ejemplo desde una librería de clases. Un modelo no tiene que heredar de una clase base específica o algo como eso - ellos son verdaderamente clases regulares de .NET. Hay un par de formas para enriquecer tus clases modelo con información relacionada a mvc, pero lo discutiremos luego.
Resumen
El modelo en una aplicacion MVC debe representar el estado actual de la aplicación, también como la lógica de negocios y/ operaciones. En los artículos siguientes de este capítulo, profundizaremos en temas más avanzados, en materia relacionada al modelo.