Modelo Vista Controlador
Enviado por SalmonLeo • 12 de Junio de 2023 • Tarea • 1.192 Palabras (5 Páginas) • 47 Visitas
MODELO VISTA-CONTROLADOR
Introducción:
Desde 1990 las aplicaciones empezaron a volverse cada día más complejas, para
ayudarnos a crear aplicaciones de forma rápida y sencilla, Trygve Reenskaug propuso como
una forma de desarrollar el GUI (interfaz gráfica del usuario) la arquitectura llamada Modelo
Vista Controlador (MVC), el cual es un patrón de diseño de software que se utiliza para
separar las diferentes partes de una aplicación, implementar interfaces de usuario, datos y
lógica de control. En sí esta no pertenece a un lenguaje de programación específico sino
que es un concepto de cómo desarrollar las aplicaciones.
Enfatiza una separación entre la lógica de negocios y su visualización.
Las tres partes del patrón de diseño de software MVC se pueden describir de la siguiente
manera:
1. Modelo: Maneja datos y lógica de negocios.
2. Vista: Se encarga del diseño y presentación.
3. Controlador: Enruta comandos a los modelos y vistas.
Esta "separación de preocupaciones" proporciona una mejor división del trabajo, una mayor
escalabilidad y una mejora de mantenimiento. Algunos otros patrones de diseño se basan
en MVC, como MVVM (Modelo-Vista-Modelo de Vista),MVP (Modelo-Vista-Presentador) y
MVW (Modelo-Vista-Whatever).
PARTES (MODELO - VISTA - CONTROLADOR)
¿QUÉ ES EL MODELO?
El Modelo o model es la pieza fundamental del patrón de arquitectura MVC. Es el
responsable de administrar los datos de la aplicación debido a que trabaja directamente con
la fuente de la información, ya sea una base de datos, una API o un objeto JSON.
Esta capa responde a las consultas y peticiones de la Vista, y también responde a las
instrucciones del Controlador para actualizarse así mismo. El modelo envía aquella parte de
información que en cada momento se solicita para ser mostrada al usuario la cual se
reciben de peticiones de acceso o manipulación de información.
¿QUÉ ES LA VISTA?
La Vista o view es la responsable de mostrar datos y generar la interfaz gráfica para el
usuario final utilizando plantillas o lenguajes de marcado. En pocas palabras, ésta capa
decide que verá el usuario en su pantalla y cómo.
Puede ser una página web, una interfaz gráfica de usuario o cualquier otro elemento que
permita al usuario interactuar con la aplicación. Y para representar los datos de entrada y
salida, utiliza los componentes básicos de una interfaz como el gráfico, cuadro, tabla,
cuadro de texto, menú desplegable, etc.
¿QUÉ ES EL CONTROLADOR?
El Controlador o controller es la capa encargada de coordinar la interacción entre la vista y
el modelo. Recibe las acciones del usuario desde la Vista, realiza las operaciones
necesarias en el Modelo y actualiza la Vista con los resultados correspondientes.
Los datos los tendremos habitualmente en una base de datos, por lo que en los modelos
tendremos todas las funciones que accederán a las tablas y harán los correspondientes
selects, updates, inserts, etc.
Implementación y ejemplo:
Al momento de implementar este patrón de diseño se debe contemplar el ciclo que cumplen
las peticiones al pasar por las distintas partes de MVC, así podemos decir:
1. Que primeramente el usuario interactúa con la interfaz de la página o aplicación,
parte “vista” del MVC, esto sucede al presionar un botón, un enlace, etc.
2. Luego la parte “controlador” recibe la solicitud de la acción a través de un gestor de
eventos o callback.
3. El controlador accede a la parte “modelo”, este lo actualiza de la forma solicitada
por el usuario o pide la información que necesita de la base de datos.
4. Este mismo delega a la vista el desplegar la interfaz del usuario con los cambios
obtenidos del modelo, es decir, que el controlador da la orden para que la vista se
actualice en función de lo que obtiene del modelo.
5. La UI espera nuevas interacciones para comenzar el ciclo nuevamente.
Para dar ejemplos de aplicaciones que usan MVC nombraremos algunos frameworks que
fueron diseñados para implementarse con este patrón, tales como:
-Ruby On Rails usa estructura web open source basada en Ruby es utilizada por Webs tan
conocidas como Twitter, GitHub, Hulu o Slideshare.
-CakePHP
...