Model View Controller for Dummies


 Quienes hacemos cafe lojano estamos agradecidos por la acogida que tiene este blog; y nos sentimos especialmente contentos cuando gente que se inicia en la programación nos prefiere y nos permite que le acompañemos.   Pensando en ellos vamos a postear algunos aspectos básicos relacionados con el patrón de diseño Modelo Vista Controlador, para los expertos pasar de alto este post y los relacionados.

La primera pregunta que un principiante se hace con respecto a MVC, es: ¿Yo qué gano con liarme con MVC, lo que yo quiero es programar y no buenos hábitos?   lastimosamente hacerse de malos hábitos es potencialmente caro, es pan para hoy y hambre para mañana.  Lo mejo, más barato, más inteligente es hacerlo bien a la primera.

Una mala práctica es mezclar código.   Hay que ser consciente que un alto número de problemas resultan cuando las aplicaciones mezclan el código de acceso a datos, el código de la lógica de negocios y el código de presentación.  Estas aplicaciones son difíciles de mantener, puesto que las interdependencias entre todos los componentes causan efectos colaterales cada vez que se realiza un cambio en algún lado.   Mezclar código en proporciones elevadas dificulta e incluso puede imposibilitar la tan buscada reutilización de código, esto a causa de la dependencia sobre muchas otras clases.

Agregar nuevas vistas de datos frecuente requiere reimplementación o cortar y pegar código de la lógica de negocios, conforme sea necesario en diferentes lugares de la aplicación. El código de acceso a datos es susceptible a problemas similares,  es necesario cortar y pegar entre métodos de la lógica de negocios.

El Patrón de Diseño Modelo-Vista-Controlador (MVC, Model View Controller) resuelve este problema  a través  de la separación del acceso a datos, la lógica de negocios, la presentación de datos y la interacción del usuario.

Cuando se desarrollo una aplicación usando el Patrón MVC, se obtiene

•    Reutilización de componentes del modelo.
•    Fácil soporte para nuevos tipos de clientes.
•    Incremento de la complejidad del diseño.

Sin lugar a dudas, el patrón MVC representa un mecanismo de mejora de procesos de desarrollo de software, fácil de comprender y aplicar.

Para quienes están interesados en formalizar un emprendimiento en el terrero del software, es necesario pasar de lo artesanal a lo industrial.  Con MVC se puede contar con un equipo serio de desarrolladores sin necesidad de depender de superhéroes que conocen todo el código y a los que tenemos que aguantar porque no tenemos más remedio que aceptar que estamos en sus manos.   MVC permite pasar de  un equipo que usa un modelo de desarrollo basado en superhéroes hacia un modelo donde se requieren diferentes conjuntos de habilidades para diferentes responsabilidades.

5 comentarios en “Model View Controller for Dummies

  1. Saludos café lectores, saben hace dos años participe en las conferencias de ingeniería de software como ponente, con el tema “Patrón de diseño Modelo – Vista – Controlador”, les invito a descargar el documento PDF de la ponencia en (http://www.eqaula.org/eva/file.php/1/Modelo-Vista-Controlador.pdf).

    Allí se menciona la necesidad de adoptar patrones de diseño en el desarrollo de software y las ventajas puntuales del patrón MVC.

    Un concepto importante relacionado con este tema es el de MODELO MENTAL, que no es otra cosa que tomar lo que el usuario piensa a cerca de algo y convertirlo a una especificación y a un producto final. De esa manera se reduce la curva de aprendizaje sobre tecnología.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s