MVC - MVP Patrones de Diseño de Software
Enviado por Balamcio • 30 de Mayo de 2020 • Tarea • 1.387 Palabras (6 Páginas) • 184 Visitas
MVC - MVP
Patrones de Diseño de Software
En ingeniería del software un patrón es una solución probada y aplicable a un problema, este problema se repite constantemente en el desarrollo de distintas aplicaciones y en distintos contextos. Un patrón no es una solución en forma de código ya programado para su uso, sino más bien una descripción de cómo resolver el problema ante unas circunstancias a la que es aplicable.
Cuando se desarrolla una aplicación se debe tener en cuenta que existen patrones de diseño que pueden ayudarnos a acelerar el desarrollo de nuestro software, permitiéndonos que nuestra estructura sea más compresible para las demás personas que deseen colaborar. El uso de patrones es fundamental en el desarrollo de software, nos permite llevar el código de una manera formal, así como también nos permite tener una estructura del proyecto entendible separada mediante módulos, manteniendo en equilibrio los componentes que conforman el proyecto.
Los patrones software fueron popularizados en el libro Design Patterns: Elements of Reusable Object-Oriented Software, de los autores Erich Gamma, Richard Helm, Ralph Johnson y John Vissides, conocidos como el Gang of Four (Gof) , este documento trata de patrones genéricos, aplicables a una amplia gama de contextos y a cualquier lenguaje orientado a objetos. Los patrones ofrecen tres ventajas fundamentales: Están ya probados, son reutilizables y son expresivos. Los Patrones suelen clasificar en tres grupos: Creacionales, Estructurales y de Comportamiento.
Modelo Vista Controlador MVC
El MVC fue descrito en el año 1979 por Trygve Reenskaug, , mientras trabajaba con el equipo de Smalltalk en los laboratorios Xerox PARC, actualmente es ampliamente usado en aplicaciones de escritorio, clientes y servidores web, servicios web, Single Page Applications y lenguajes (Smalltalk, Java, Ruby, C++, Python, PHP, JavaScript, NodeJS, etc.). Este modelo es base en el desarrollo de aplicaciones para Apple, Steve Jobs lo utilizó en 1988 para el sistema de desarrollo de su línea NeXT .
Se trata de un modelo maduro que ha demostrado su validez a lo largo de los años en todo tipo de aplicaciones, y sobre multitud de lenguajes y plataformas de desarrollo. EL MVC separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos.
El Modelo que contiene una representación de los datos que maneja el sistema, su lógica de negocio, mecanismos de persistencia, y gestiona el almacenamiento y la recuperación de datos del dominio.
La Vista, o interfaz de usuario, que compone la información que se envía al cliente y los mecanismos interacción con éste. Comúnmente se dice que la Vista es una representación del estado del Modelo
El Controlador, que actúa como intermediario entre el Modelo y la Vista, gestionando el flujo de información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno. El Controlador se considera un coordinador general del sistema, teniendo acceso bidireccional al Modelo, es capaz de actualizar su estado, invocando métodos o acciones incluidas en su lógica de negocio. También es el encargado de seleccionar la vista más apropiada en función de la acción llevada a cabo por el usuario.
Modelo Vista presentación MVP
El patrón MVP se desarrolló en los años 90’ como una iniciativa de Apple, IBM y HP, como una alternativa al patrón MVC. Es un acrónimo de las palabras Model, View y Presenter, que son los componentes esenciales de este modelo, la principal diferencia entre el patrón MVP y otros patrones de UI, es la completa independencia entre vista y modelo, la vista no sabe que existe un modelo y el modelo no sabe que existe una vista.
MVP surge para ayudar a realizar pruebas automáticas de la interfaz gráfica, implementando la vista del usuario con el menor código posible, desarrollando toda la lógica de la interfaz de usuario en una clase separada denominada Presentador, esta clase no depende de los componentes de la interfaz gráfica, lo que nos ayuda a que sea más fácil de realizar pruebas. El Presentador es el enlace entre el modelo y la vista, y dotará de inteligencia a la vista, el Presentador recibe las interfaces que deben implementar el modelo y la vista, con los métodos públicos a los que el Presentador debe llamar
Este patrón consiste en tres componentes.
La vista. Compuesta de las ventanas y controles que forman la interfaz de usuario de la aplicación.
El modelo. Que es donde se lleva a cabo toda la lógica de negocio.
El presentador. Escucha los eventos que se producen en la vista y ejecuta las acciones necesarias a través del modelo. Puede tener acceso a las vistas a través de las interfaces que la vista debe implementar.
Cuadro comparativo de los patrones MVC y MVP
El Controlador se crea o se accede en función de algún evento o solicitud.
El Controlador crea la Vista adecuada e interactúa con el modelo para configurar aún más la Vista.
La entrada se dirige al Controlador primero, no a la Vista.
El Modelo contiene el núcleo de la funcionalidad de la aplicación, encapsula el estado de la aplicación y es independiente del Controlador y la vista.
La Vista es la presentación del Modelo, puede acceder al Modelo, pero nunca cambiar su estado y puede ser notificado cuando hay un cambio de estado en el Modelo
Cada Vista puede ser asociada a un único controlador, la Vista interactúa con el Controlador y el Modelo para generar una interfaz de usuario
...