Navegador de Archivos
Calendario del Blog
General
MVC - El conocimiento nuevo de un patron viejo
En ese entonces Norberto Ortigoza fue nuestro sensei, esto me ayudo a cambiar mi paradigma sobre el desarrollo de software, me mostro como programar adecuadamente[1] y mediante diversos ejemplos pude mejorar mi estilo de programación.
Así fue como conocí el patrón de diseño MVC (Model View Controler), sin embargo a pesar de haber puesto atención, de recibir ejemplos para poder entenderlo y ponerlo en practica, resulta que me faltaron cosas por aprender del MVC.
Hoy quiero compartir la información que por fortuna he recibido nuevamente por parte del buen Norberto.
¿Para que nos sirve conocer sobre patrones de diseño de software?
Los patrones de diseño son templates o una solución general reutilizable en diferentes problemas, estos representan la búsqueda de soluciones a problemas comunes en el desarrollo de software[2]. Por esta razón, el conocer diversos patrones de diseño nos permite atacar facilmente un problema y acelera el desarrollo de software.
¿Que es el MVC (Model View Controler)?
Es un patrón de arquitectura de software que permite separar la complejidad de un sistema en tres componentes elementales (Modelo, Vista y Controlador), de esta manera es posible separar el negocio, la vista y el acceso a datos de manera lógica y/o física facilitando la extensibilidad y desacoplamiento.
Existen muchas definiciones en la red al respecto y muchos ejemplos, sin embargo NO TODOS los artículos comprenden CORRECTAMENTE la implementación del patrón. Una referencia que goza del prestigio y reconocimiento por parte de programadores talentosos es la de Martin Fowler[3], quién ha generado un ensayo[4] muy interesante al respecto.
¿Que es lo nuevo que aprendí del MVC?
OK, digamos que ya leimos las definiciones y vimos algunos ejemplos en la red del MVC. Resulta que lo queremos implementar en nuestro desarrollo y hacemos un proyecto separando la vista del negocio y también separamos el acceso a datos, algo así como lo que muestra la siguiente imagen:

Sin embargo, en la imagen anterior existe un error, dicho error es la razón del porque algunos ejemplos que encontramos en internet son incorrectos. La imagen anterior muestra una dependencia en dirección del acceso a datos hacia la vista. La manera correcta de expresar el patrón de diseño en un diagrama sería de la siguiente manera:

En esta imagen el desarrollo es en función del negocio, osea, todo depende de las reglas de negocio y si algo cambia en el negocio, entonces esto puede afectar al modelado de datos o bien a la vista. Pero si algo cambia en la vista, no debe afectar a ningún otro lado.
Esta es la razón por la que se separa en capas, se separa la vista (Front) del negocio (Business) comunicando a ambas capas por medio de un controlador (Controller), este último es el encargado de separar las otras dos capas y aislar por completo las responsabilidades.
Lo importante de todo patrón es el saber cual es la finalidad que tiene el implementarlo en el sistema, de esta manera podemos saber cuando usarlo y como implementarlo adecuadamente.
[1] http://es.iver.com.mx/index.php/blog/show/Que_de_cosas_se_aprenden.html
[2] http://en.wikipedia.org/wiki/Design_pattern_(computer_science)
[3] http://en.wikipedia.org/wiki/Martin_Fowler
[4] http://martinfowler.com/eaaDev/uiArchs.html
#2 Re: MVC - El conocimiento nuevo de un patron viejo
Hola Lupita,
Creo que lo que buscas es un ejemplo práctico, realmente no he encontrado alguno que ejemplifique "limpiamente" el patrón, sin embargo si quieres ver código que utiliza el patrón MVC, puedes ver los desarrollos de Jaws (CMS) y de Joomla, estos son en PHP. Existen muchos frameworks que facilitan el desarrollo con MVC, en C# también se encuentran MonoRail, Maverick.NET, entre otros.
Para entender mejor el framework te recomiendo leas el artículo de Martin Fowler:
http://martinfowler.com/eaaDev/uiArchs.html
Saludos.
#2.1 Re: Re: MVC - El conocimiento nuevo de un patron viejo
Hola: Ya para este tiempo, pudiste crear alguna aplicación con la implementación del Patrón MVC de forma correcta? Si es así, favor pasar info a mi correo, gracias.
#3 Re: MVC - El conocimiento nuevo de un patron viejo
De hecho sigo en busca de generar una aplicación que realice correctamente la implementación del patrón. Sin embargo hace tiempo generé una aplicación con mono. Puedes verla en http://es.iver.com.mx/index.php/blog/show/65.html
Saludos.
Dejar un comentario
Estadísticas de visitantes








Comentarios Recientes
- Celulares con Wifi en Como escoger el amor de tu vida.
- master en La diferencia entre un amigo y un novio
- Iván Jaimes en Internet Explorer 8 y la vista compatibilidad
- mauro en Internet Explorer 8 y la vista compatibilidad
- Iván Jaimes en ¿Qué hacer para que te valoren más?
- marcela en ¿Qué hacer para que te valoren más?
- Iván Jaimes en
- karyot en Haces ruido o te gusta volar?
- Iver en Haces ruido o te gusta volar?
- leo_on en Haces ruido o te gusta volar?
- Iván Jaimes en Los detalles hacen la diferencia
- linuxman en Los detalles hacen la diferencia
- Marcelo Araújo en Internet Explorer 8 y la vista compatibilidad
- Iván Jaimes en Código con aroma de mujer
- karyot en Código con aroma de mujer
- Profesor Mamelowsky en Código con aroma de mujer
- karyot en Lo sabroso de la vida
- Iván Jaimes en
- Iván Jaimes en Internet Explorer 8 y la vista compatibilidad
- cordoba en Internet Explorer 8 y la vista compatibilidad

#1 Re: MVC - El conocimiento nuevo de un patron viejo
Hola. Actualmente me estoy empapando de la nueva arquitectura MVC, mas no se si me puedas ayudar facilitandome ejemplos donde expliquen este modelo desde Cero. Saludos.