Diferencia entre MVC y MVP

MVC vs MVP

El controlador de vista de modelo (también conocido como MVC) es un patrón de naturaleza arquitectónica que se usa específicamente en ingeniería de software. Este patrón particular se usa para aislar lo que se conoce como 'lógica de dominio', que es simplemente la lógica de una aplicación para el usuario. Está aislado de la entrada y la presentación (conocida como GUI) y permite el desarrollo independiente.

Model View Presenter (también conocido como MVP) es una permutación directa del MVC. Es un patrón de software (más específicamente, un patrón de diseño de interfaz de usuario) diseñado específicamente para ayudar a probar unidades automatizadas y mejorar lo que se conoce como la separación de inquietudes en la lógica de presentación. La separación de preocupaciones es básicamente un proceso por el cual un programa de computadora se separa en características distintas que no se superponen, en términos de cómo funcionan.

La parte del modelo del MVC es esencialmente un patrón que representa datos a través de dominios específicos, los datos utilizados para permitir que la aplicación funcione. La parte de la vista transforma el modelo en una interacción adecuada para los usuarios; este suele ser un elemento de la interfaz de usuario. Finalmente, la parte del controlador recibe la entrada con mayor precisión. Al tomar decisiones para los objetos que se encuentran en el modelo, el controlador sirve como un catalizador para la respuesta.

La parte del modelo del MVP define los datos que se mostrarán (o se ejecutarán) en la interfaz de usuario. La parte de la vista muestra los datos definidos en el modelo y envía comandos al usuario (conocidos como eventos) al presentador (quién actuará sobre estos datos). El presentador, entonces, actúa sobre el modelo y la vista del modelo. Como tal, es capaz de recuperar datos de los repositorios (que se encuentran en el modelo), continuar los datos y formatearlos para que se puedan visualizar fácilmente en la vista..

Existen diferentes variantes del MVC. Como tal, el flujo del control está en un orden muy estricto: primero, el usuario interactuará con la interfaz (presionando un botón en el mouse, por ejemplo), y luego el controlador se encargará del evento de entrada y lo cambiará a La acción apropiada del usuario. A continuación, el controlador notifica el modelo de lo que el usuario ha hecho, lo que probablemente resultará en que el modelo cambie su estado (como una actualización, por ejemplo). La vista luego plantea una pregunta al modelo para generar la interfaz de usuario. Finalmente, la interfaz de usuario espera instrucciones que reinicien el ciclo..

Resumen:

1. MVC es un patrón arquitectónico que aísla la lógica de dominio; MVP es un descendiente del MVC diseñado para ayudar a probar unidades automatizadas y mejorar la separación de preocupaciones.

2. Con respecto al MVC, el modelo representa los datos, la vista transforma el modelo en una interacción fácil de usar y el controlador recibe la entrada; en lo que respecta al MVP, el modelo define los datos, la vista lo muestra y el presentador actúa sobre el modelo y su vista..