La semana pasada me surgió la necesidad de hacer un sistema de gestión de eventos para el DotNetClub del que formo parte y, aprovechando que lo estábamos estudiando en la carrera, decidí emplear el patrón Modelo-Vista-Controlador (MVC) y crear esta serie de artículos.

Autor:

Soy un pequeño desarrollador, tanto web como de escritorio, he hecho mis pinitos con Wordpress y CodeIgniter, y sigo muy de cerca las tecnologías Microsoft. Puedes seguirme en Twitter

¿Por qué esta serie?

La semana pasada me surgió la necesidad de hacer un sistema de gestión de eventos para el DotNetClub del que formo parte y, aprovechando que lo estábamos estudando en la carrera, decidí emplear el patrón Modelo-Vista-Controlador (MVC).

Ror

El problema era que no me decidía si desarrollarlo en ASP.net o en Ruby on Rails, así que se me ha ocurrido hacer una pequeña implementación de la misma interfaz en los dos modelos para ver las diferencias, y ya que estaba, compartirlo con vosotros.

Como en un solo artículo es imposible dar siquiera una primera aproximación a cada una de las herramientas, lo hemos dividido en una serie, titulada Monográfico MVC.

ASP.net MVC

A lo largo de esta serie, veremos cómo partiendo de un diseño básico, podemos agregar la lógica MVC, y apreciar las diferencias entre dos tecnologías concretas, y muy diferentes:

  • Ruby on Rails
  • ASP.net MVC3

Comencemos pues la introducción al patrón MVC.

Introducción: ¿Qué es MVC?

De acuerdo con la definición de Wikipedia es:

Patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos.

Esto significa que tendremos tres componentes principales en nuestra aplicación:

Modelo

El modelo lo podemos ver como la base de datos, o el sistema relacional que controla cómo se leen y se guardan los datos, así como cierta lógica de validación y relaciones entre ellos (Lo podemos llamar modelo relacional, si estamos trabajando con bases de datos)

Vista

La vista es lo que se muestra al usuario o a un servicio web, es decir, una vista puede ser una página HTML para que el usuario acceda a los datos, una interfaz en Silverlight, o incluso un fichero XML que se consuma desde un programa externo.

Controlador

El controlador es el enlace entre la vista y el modelo, se encarga de recibir los eventos desde la vista (por ejemplo un botón “Enviar” de un formulario o de un cuadro de login) y de exponer a la vista los datos desde el modelo.

Este modelo no es nuevo, sino que fue introducido en 1987 en el lenguaje de programación SmallTalk, si quereis echar un vistazo a la especificación original, la podeis encontrar aquí: http://st-www.cs.illinois.edu/users/smarch/st-docs/mvc.html

Con el auge de las aplicaciones web, se ha demostrado ser un modo de programación que encaja bastante bien con internet, siendo tanto el modelo y el controlador ejecutados del lado del servidor, y la vista ejecutada del lado del cliente.

Diseño inicial

Para poder centrarnos en los diferentes sistemas y no centrarnos tanto en el diseño, partimos de un diseño HTML ya construido que contiene dos páginas:

  • Lista de eventos
  • Ventana de detalles

La lista de eventos contendrá la fecha, el título del evento, el ponente y una descripción.

La ventana de detalles contendrá, además, el edificio, el aula, y la hora, así como dos opciones para editar y/o borrar el evento.

Visto este diseño podemos extraer el conjunto de datos necesario, y su tipo:

  • Id: Integer
  • Titulo: String
  • Fecha: Date
  • Edificio: String
  • Ponente: String
  • Descripcion: String

A partir de este diseño, y usando técnicas de scaffolding, comprobaremos lo sencillo que puede ser empezar a trabajar.

En la próxima entrega veremos cómo agregamos lógica a esta web usando el primero de los jugadores: Ruby on Rails.

¡Nos vemos en la próxima publicación!

¿Necesitas desarrollar un proyecto web o para móviles? ¡Estamos disponibles!

Visitar Cokidoo

Cokidoo, los creadores de Ontuts, desarrollamos proyectos tecnológicos centrados en redes sociales y aplicaciones web, aplicaciones móviles y consultoría web y bases de datos.

Somos jóvenes, inquietos, versátiles, apasionados por la innovación y enfocados en las nuevas tecnologías. Con Ontuts tratamos de compartir nuestro conocimiento adquirido en los distintos proyectos, ayudando a la comunidad y mostrando nuestra capacidad tecnológica.

Si necesitas un presupuesto sin compromiso, estamos disponibles, no dudes en contactar con nosotros.

Comentarios en esta publicación (5 comentarios)

¿Te ha gustado esta publicación? ¡Puedes compartir tu opinión con todos nosotros! Simplemente pincha aquí mismo.

¡Gracias por colaborar Roberto!

Espero con ganas la publicación sobre RoR :)

Ivan

Muy interesante… gracias por la info… que venga la segunda parte.