31 Octubre 2011 ~ 13 Comments

MVC o Modelo-Vista-Controlador

En el ejemplo anterior hablamos de Razor, pero debemos tener en cuenta que este no es un lenguaje de programación como tal sino más bien un motor de vistas que nos permite expresar del modo que nos parezca más cómodo la parte “visible” de nuestra aplicación. Antes pues de continuar a profundidad con Webmatrix detengámonos un momento en uno de los patrones de arquitectura más populares.

Modelo vista controlador

El patrón modelo-vista-controlador permite separar cada una de las lógicas de nuestra aplicación en archivos independientes permitiendo hacer de la aplicación mucho más flexible y sencilla de mantener. Por ejemplo separando las vistas podremos modificar cuantas veces sea necesario el aspecto visual de la página web sin tener que tropezar con el código que se encarga de hacer el tratamiento a los formularios o con la sección que guardaba los datos de usuarios en bases de datos.

Controlador: El controlador soporta el flujo de información de la aplicación, interactuando con el modelo y la vista. Adicionalmente determina el enrutamiento del usuario dentro de la página web.

Vista: La vista encapsula la presentación de la aplicación, normalmente contiene en su mayoría un lenguaje de etiquetas como Html combinado con el código del motor de vistas

Modelo: El modelo contiene la información básica para una aplicación. Esto incluye los datos y reglas de validación, así como acceso a datos y lógica de agregación.

Un buen ejemplo que demuestra esta dinámica podemos encontrarlo en la siguiente grafica:

Felipe tiene apetito y ha decidido entrar a la página web de su restaurante favorito, así pues ha ingresado a -lapaparellena.com-, el servidor recibe la solicitud y tiene indicado que lo primero que debe ejecutar es el controlador de inicio.cs . Este a su vez contiene instrucciones para que cuando le sea solicitada la página principal entregue al usuario la vista con nombre inicio.html. Felipe cuando recibe la página encuentra un formulario donde le permiten registrarse a las promociones de su restaurante. Así pues completa el formulario y presiona el botón –enviar-. El controlador inicio.cs recibe de nuevo una solicitud, pero en esta ocasión con la indicación de que el formulario de la vista inicio ha sido completado. Así pues envía los datos que recibe en el formulario al modelo usuario.cs que se encarga de validar que Felipe ya no exista en base de datos, guardarlo y posteriormente avisar al controlador que el registro ha sido exitoso. El controlador recibe esta notificación y escoge la vista registroExitoso.cshtml y la entrega a Felipe quien recibe una página indicándole que todo ha salido bien.

diagrama modelovistacontrolador

Como se comento anteriormente MVC permite gran flexibilidad en nuestro desarrollo, otro buen ejemplo es el caso donde hemos realizado por completo el desarrollo haciendo uso de una base de datos MS SQL, sin embargo por costos el cliente opto porque finalmente se use una base de datos gratuita como MySQL, en un patrón de arquitectura distinto, probablemente hubiésemos tenido que buscar entre todo el código las sentencias SQL y la validación de los datos. Mientras que en MVC cambiaríamos puntualmente las sentencias que fueran necesarias sobre los modelos, para luego simplemente cambiar el driver de base de datos del que estemos haciendo uso.

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Add to favorites
  • Live

13 Responses to “MVC o Modelo-Vista-Controlador”

  1. JOSE FERNANDEZ 11 Diciembre 2011 at 4:12 pm Permalink

    Aun falta algo pero el esfuerzo de crear Webmatrix está bastante cerca de lo que en verdad se necesita. Me gustaria interactuar con quien puede tomar decisiones en estos temas. Quien sabe si trabajar para Microsoft acá en Córdoba. Creo tener claro lo que hace fata para completar. Gracias!

  2. Roberto 13 Diciembre 2011 at 10:50 am Permalink

    uff creo que necesitare mucha ayuda! muy buen post!

  3. judavi 14 Diciembre 2011 at 9:59 am Permalink

    Hola Roberto! Gracias por tu comentario! Y cuéntanos en que podemos ayudarte!

  4. Angel Luis 26 Diciembre 2011 at 1:50 pm Permalink

    he tenido un problema al intentar crear a partir de Joomla espero resolverlo, y si no ya lo comentare por aqui…
    Saludos.

  5. Centauro King 28 Diciembre 2011 at 5:26 pm Permalink

    Será que podemos encontrar y descargar de algún sitio un ejemplo práctico del modelo MVC con WebMatrix, interactuando ya con una base de datos (sql server), y en la que podamos distinguir cada una de las lógicas del patrón.
    Gracias

  6. judavi 28 Diciembre 2011 at 5:55 pm Permalink

    Hola Angel! Gracias por tu comentario. Te cuento que si tienes algún problema con Webmatrix no debes dudar en escribir para ver como podemos ayudarte 😉

  7. judavi 28 Diciembre 2011 at 5:56 pm Permalink

    Hola Centauro!
    Gracias por tu comentario. Respecto al ejemplo, dejame lo preparó y lo publico. Yo te aviso en correo, maso en dos días lo tienes listo 😉

  8. Arrays 3 Enero 2012 at 11:03 pm Permalink

    Gracias por los post de este blog ! me motivan cada día a ser un buen programador cuando grande 😀

  9. judavi 23 Enero 2012 at 8:51 am Permalink

    Hola Luis! Agradezco mucho tu comentario! y por cierto tu blog también esta genial! Ya lo estoy siguiendo 😉

  10. R.Garrido 2 Febrero 2012 at 12:52 pm Permalink

    Siempre he intentado organizar mi programacion en mvc, pero sin un ejemplo claro casi siempre me queda mal. Falta un buen ejemplo practico….

  11. Andres.Rodriguez 4 Marzo 2012 at 10:49 pm Permalink

    Estoy haciendo el curso de WebMatrix desde MVA, ya culmine el primer módulo y hasta el momento me ha parecido muy claro. Gracias judavi.
    A propósito, estuve un tu curso de WebMatrix en la U. católica de Pereira y gracias a esa capacitación estoy muy interesado en aprender mas sobre esta herramienta de Microsoft.

  12. BenjoEcuador 1 Mayo 2012 at 11:08 am Permalink

    Hola, estoy haciendo mi tesis Desarrollo de un Sistema Web.

    Todo el material es muy bueno, aqui les dejo un link video de MVC.

    http://www.desarrolloweb.com/articulos/webcast-aspnet-mvc-mar12.html

    Saludos a todos.

  13. Sebas 24 Agosto 2014 at 11:29 am Permalink

    Gente tonta, ¿No pueden limiarse a comentar la publicación expuesta?¿Para qué cometar cosas que no vienen al caso o pertenecen a otro ambito que nada tiene que ver con éste?


Vamos! Deja un comentario :)