Está en la página 1de 7

MVC

El Modelo Vista Controlador (MVC) su objetivo de este tipo de modelos es de intentar repetirse lo menos posible y de tenerlo todo organizado o sea hacer una distincin entre la lgica de toda la aplicacin y presentacin. Los Fundamentos bsicos del MVC son los siguientes:

Modelo: Esta sirve como representacin especfica de toda la informacin con la cual el sistema va a trabajar. La lgica de datos nos puede llegar a asegurar la integridad de ellos y nos permitir derivar nuevos datos. Cmo lo hace? Pues, no permitindonos comprar un nmero de unidades negativas, y tambin calculando si hoy puede ser el cumpleaos del usuario/a o tambin los totales, impuestos o importes en un sistema de venta. Vista: Presenta el modelo con el que va a interactuar el usuario, ms conocida como interfaz. Controlador: El controlador responde ms bien a eventos, normalmente son acciones que el usuario invoca, implica cambios en el modelo y tambin en la vista (interfaz).

Cules son los orgenes del Modelo Vista Controlador? Buscando un poco de informacin histrica, podemos decir que este fue descrito por primera vez en 1979 por Trygve Reenskaug (hace ya basante tiempo, para el sector que tratamos), trabajador de Smalltalk, en unos laboratorios de gran investigacin de Xerox. La implementacin del modelo fue descrita en este documento. Frameworks MVC Los MVC cumplen perfectamente el fin particular de cualquier frameworks, (una estructura bien definida que da soporte a un proyecto web tambin nos ayuda a que nuestro proyecto sea organizado y bien desarrollado).

DIAGRAMA DE FLUJO DE UN FRAMEWORK MVC

Modelo Vista Controlador 1. El index.php nos inicializa el nucleo de nuestra aplicacin. 2. El enrutador nos examina nuestra peticin HTTP y nos ayuda a determinar que se debe de hacer. 3. Si existe, la cache nos devuelve nuestro archivo HTML sin necesidad de pasar por el sistema , ahorrandos la carga que esto nos conlleva. 4. La Seguridad, ya que antes de que se cargue el controlador se filtran los datos enviados para que estos puedan resultar fiables. 5. El controlador nos carga el modelo, librerias, helpers, plugins y todos los dems recursos necesarios para satisfacer nuestra peticin. 6. Finalmente, cuando la Vista est renderizada, esta es enviada al navegador, encontes si la cache se encuentra habilitada, se almacena el resultado para la prxima ocacin que la URL sea servida

El Patrn MVC (Modelo Vista Controlador)


El Modelo Vista Controlador (MVC) es un patrn de arquitectura de software que separa los datos de una aplicacin, la interfaz de usuario, y la lgica de control en tres componentes distintos (Modelo, Vista y Controlador). El Patrn MVC se ve frecuentemente en aplicaciones Web, donde la Vista es la pgina HTML y el cdigo que provee de datos dinmicos a la pgina; el Modelo es el Sistema de Gestin de Base de Datos y la Lgica de negocio; el Controlador es el responsable de recibir los eventos de entrada desde la Vista.

Un modelo puede tener diversas vistas, cada una con su correspondiente controlador. Un ejemplo clsico es el de la informacin de una base de datos, que se puede presentar de diversas formas: diagrama de tarta, de barras, tabular, etc. Veamos cada componente.

Modelo
Es la representacin especfica de la informacin con la cual el sistema opera. La lgica de datos asegura la integridad de estos y permite derivar nuevos datos; por ejemplo, no permitiendo comprar un nmero de unidades negativo, o calculando los totales e impuestos del carrito de compra. Esto quiere decir que aqu se operan los datos y las reglas de negocio asociadas al sistema, incluyendo el anlisis sintctico y el procesamiento de los datos de entrada y de los datos de salida.

El Modelo es el responsable de:


Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento. Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser: Si la mercanca pedida no est en el almacn, consultar el tiempo de entrega estndar del proveedor. Lleva un registro de las vistas y controladores del sistema. Si estamos ante un modelo activo, notificar a las vistas los cambios que en los datos pueda producir un agente externo (por ejemplo, un fichero batch que actualiza los datos, un temporizador que desencadena una insercin, etc.). Un ejemplo de MVC con un modelo pasivo (aquel que no notifica cambios en los datos) es la navegacin web, que responde a las entradas del usuario, pero no detecta los cambios en datos del servidor. Vista Este presenta el Modelo, usualmente la interfaz de usuario. La vista es la capa de la aplicacin que ve el usuario en un formato adecuado para interactuar, en otras palabras, es nuestra interfase grafica.

Las vistas son responsables de:


Recibir datos del modelo y los muestra al usuario. Tienen un registro de su controlador asociado (normalmente porque adems lo instancia). Pueden dar el servicio de Actualizacin(), para que sea invocado por el controlador o por el modelo (cuando es un modelo activo que informa de los cambios en los datos producidos por otros agentes). Controlador El Controlador es la capa que controla todo lo que puede realizar nuestra aplicacin. Responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y

probablemente en la vista. Est compuesto por acciones que se representan con funciones en una clase. Por ejemplo, yo tengo mi controlador llamado Clientes, y este controlador puede realizar las acciones Crear,Editar,Listar entre otras.

El controlador es responsable de: Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.). Contiene reglas de gestin de eventos, del tipo SI Evento Z, entonces Accin W. Estas acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a las vistas puede ser una llamada al mtodo Actualizar (). Una peticin al modelo puede ser Obtener_tiempo_de_entrega (nueva_orden_de_venta). El diagrama de secuencia

Pasos:
1.El usuario introduce el evento. 2.El Controlador recibe el evento y lo traduce en una peticin al Modelo (aunque tambin puede llamar directamente a la vista). 3.El modelo (si es necesario) llama a la vista para su actualizacin. 4.Para cumplir con la actualizacin la Vista puede solicitar datos al Modelo. 5.El Controlador recibe el control. Ventajas y Desventajas La popularidad de este diseo se debe mas que todo a que es mucho mas fcil organizar aplicaciones grandes.

Las ventajas
1. Clara separacin entre interfaz, lgica de negocio y de presentacin, que adems provoca parte de las ventajas siguientes. 2. Sencillez para crear distintas representaciones de los mismos datos. 3. Facilidad para la realizacin de pruebas unitarias de los componentes, as como de aplicar desarrollo guiado por pruebas (TDD). 4. Reutilizacin de los componentes. 5. Simplicidad en el mantenimiento de los sistemas. 6. Facilidad para desarrollar prototipos rpidos. 7. Los desarrollos suelen ser ms escalables.

LAS DESVENTAJAS:
Tener que ceirse a una estructura predefinida, lo que a veces puede incrementar la complejidad del sistema. Hay problemas que son ms difciles de resolver respetando el patrn MVC. La curva de aprendizaje para los nuevos desarrolladores se estima mayor que la de modelos ms simples como Web forms. La distribucin de componentes obliga a crear y mantener un mayor nmero de ficheros.

Ejemplo Bien, pero esto cmo se implementa? Existe una pequea dificultad: la mayor parte de las herramientas de desarrollo incorporan en las clases de la vista gran parte o todo el procesamiento de eventos. Con lo que el controlador queda semi oculto dentro de la vista. A pesar de ello, podemos acercarnos bastante al patrn.

Modelo Un ejemplo de la vida real de un Modelo seria una clase llamada Cliente, la cual tiene las mismas propiedades de una tabla cliente en mi base de datos

Controlador Un Controlador seria el Controlador Cliente, generalmente las clases Controladoras llevan el sufijo Controlador, as que en nuestro caso se llamara Clientes Controlador.

El controlador llevara las acciones que nosotros podemos realizar en un cliente como por ejemplo, agregar, borrar, modificar, agregar orden, etc.

Vista La Vista es el ms fcil de entender, simplemente es nuestra pgina HTML. A travs de la accin del Controlador especificamos a que vista queremos enviar el resultado de la accin del Controlador. En algunos casos es necesario pasar informacin a la Vista desde el Controlador, esto se logra fcilmente en el cdigo de la accin.

También podría gustarte