Páginas

miércoles, 6 de marzo de 2013

Modelo vista controlador MVC

Introducción:

Cuando programamos siempre deberíamos tener tres componentes  básicos, la interfaz para el usuario, la lógica del negocio y un componte que conecte estos dos elementos; los docentes de programación y software siempre intentan que separemos estos componentes para tener una mayor organización y rendimiento en nuestros proyectos, sin embargo nosotros nos resistimos a este cambio con la excusa de "que estos funcionan igual" o "yo entiendo mi desorden", la idea de este articulo es contribuir a mejorar en estos aspectos y dar una introducción al paradigma de modelo vista controlador de ahora en adelante MVC.

El patrón de arquitectura de programación MVC descrito por primera vez en 1979 por Trygve Reenskaug, un programador que trabajaba en los laboratorio de investigación de Xerox, 33 años despues se sigue usando y ha tomado mucha fuerza con el desarrollo web.

Elementos:

La idea es muy simple, separar nuestro código en tres grupos:

La lógica del negocio: MODELO
La la interfaz de usuario: VISTA
La conexión entre el modelo y la vista: CONTROLADOR

Modelo: son las partes de la aplicación que implementan la lógica del negocio, a menudo estos recuperan y almacenan los objetos que están registrados en una base de datos. En este caso se haría referencia a las clases genéricas que creamos como "Persona", "Animal", "Universidad", entre otras, estas clases son representaciones estructurales de sus similares en el mundo real, tienen atributos (características del objeto) y métodos(operaciones relacionadas con el objeto).

Vista: son los componentes que muestran la interfaz de usuario de la aplicación (UI), esta interfaz se crea a partir de los datos del modelo y sirve para que el usuario final interactue con la aplicación. En este caso se habla de lo que ve el usuario la aplicación, osea la estructura con botones, campos de texto, casillas de verificación, párrafos entre otros, y las características de estos elementos.

Controlador: son los componentes que manejan la interacción del usuario, con el modelo de trabajo, y finalmente seleccionan una vista para mostrar información al usuario. En este caso es la parte que controla las interacciones del usuario y dependiendo el caso administra que modelos y que vistas usar para responder a estas interacciones, como las clases que se encargaban de controlar los eventos de los dispositivos de entrada del computador en los primeros programas que realizamos.

Ejemplo:

En una restaurante también se separa las funciones:



En la cocina se maneja la lógica del negocio, se prepara la comida y se organizan los platos este componente seria el modelo.



En la recepción se manejan los pedidos ( a cada cliente se le tiene que mandar preparar el plato que pidió) osea este seria el controlador. 




Y por ultimo los meseros serian la vista pues son quienes tratan con los usuarios finales. 


Proceso del  MVC

1. El usuario interactúa con la aplicación de alguna forma (por medio de algún elemento de la vista, como un botón o la pulsación de una tecla).

2. Se dispara el evento y el controlador lo recibe la notificación de la acción solicitada por el usuario (se entera que el usuario realizo una interacción).

3. El controlador gestiona el evento (decide que hacer con el).

4. El controlador accede al modelo y realiza la operación pertinente (generalmente se realiza un acceso a la información de la base de datos de la aplicación).

5. El controlador gestiona el despliegue de la vista adecuada ye en ella se reflejan los cambios en el modelo (la vista en si puede ser la misma pero la información del modelo ha cambiado).

6. La vista queda dispuesta para futuras interacciones del usuario.

MVC Architecture por http://developer.chrome.com


Ventajas de usar MVC:

  • Es más sencillo trabajar sobre una aplicación cuando esta esta ordenada y claramente separada en las áreas que se propone en MVC.
  • Es más fácil gestionar una aplicación que usa MVC, debido a las las interacciones de los usuarios pueden ser controladas.
  • Se mejora el campo de la reutilización de componentes.
  • Facilita las tareas de mantenimiento.
  • Los programas se vuelven más escalables (lo que quiere decir que si se añade elementos o se modifica el programa no se tienen tantos problemas).
Conclusiones:

El MVC esta siendo muy usado en el desarrollo web y es prácticamente un estándar de facto en el desarrollo actual de aplicaciones, por ello es importante conocerlo y usarlo desde nuestros proyectos más básicos.




No hay comentarios:

Publicar un comentario