Introducion al MVC (modelo-vista-controlador)
Algunos colegas de profesión me han pedido en varias ocasiones que dedique un artículo al MVC (modelo-vista-controlador) para intentar acercarlos esta Patrón de Diseño.
El MVC es un Patrón de Diseño de software por el que se intenta independizar el código en tres partes:
El Modelo, también llamado Dominio, que será el encargado de comunicarse con los datos.
La Vista, que será la encargada de comunicarse con el usuario.
El Controlador, que será el encargado de comunicar internamente al Modelo y a la Vista.
Tengamos, por ejemplo, la pulsación del botón grabar en una pantalla de edición; el evento se produce en la Vista y deberá ser redirigido al Controlador, donde se efectuarán las comprobaciones y operaciones necesarias, para posteriormente llamar al método del Modelo que se encargue de la grabación de los datos en la Base de datos.
El objetivo de este sistema es independizar las partes de nuestro código para poder reutilizarlo en otras aplicaciones fácilmente o cambiar el aspecto de la Vista.
Una vez se comprende el funcionamiento, su implementación es bastante sencilla aunque laboriosa, ya que requiere la redacción y mantenimiento de tres programas; aunque se gana en ventajas al saber que cada parte por separado funciona correctamente y puede ser reutilizada en otras aplicaciones.
Os dejo este ejemplo, realizado con Xailer Enterprise y MySQL.
Espero vuestros comentarios.
Actualización 09.05.2010: Nueva versión del ejemplo MVC con Xailer. Incluye un campo blob.
Tags: Modelo-Vista-Controlador, MVC, MySQL, Patrones de diseño, Tecnicas de programacion, Xailer, xBase
April 5th, 2010 at 12:22
Hola JA,
gracias por compartir ideas, la mejor forma de discutirlas es soltarlas en el ruedo ;).
He empezado a usar MVC a partir de aprender PHP, ya que todos los frameworks para Ruby, PHP, o Python se basan en Ese modelo. Una de las cosas más marcadas es que todos usan de una u otra forma un ORM, que suele ser opcional pero que favorece la implantación del patrón.
Según voy viendo el código me surgieron algunas dudas que me gustaría comentarte, porque tambien quiero trasladar la idea a Harbour.
Un saludo
April 5th, 2010 at 13:42
Hola Carlos,
Gracias por tu comentario y a tu disposición para comentar las dudas que tengas y, por supuesto, tus aportaciones.
Saluda a todos los colegas por ahí.
Un abrazo.