Diferencia entre MVC y MVP

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 utilizada específicamente en ingeniería de software. Este patrón particular se utiliza 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.

El presentador de la vista de modelo (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 las pruebas de unidades automatizadas y mejorar lo que se conoce como la separación de las preocupaciones en la lógica de presentación. La separación de las 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 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 porción de vista transforma el modelo en una interacción adecuada para los usuarios; este suele ser un elemento de interfaz de usuario. Finalmente, la parte del controlador recibe más actitud la entrada. Al tomar decisiones para los objetos encontrados en el modelo, el controlador sirve como catalizador para la respuesta.

La parte del modelo del MVP define los datos que se mostrarán (o se actuarán) en la interfaz de usuario. La porción de vista muestra los datos definidos en el modelo y envía comandos solicitados por el usuario (conocidos como eventos) al presentador (que 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 repositorios (que se encuentran en el modelo), continuar los datos y formatearlos, para que se muestre fácilmente en la vista.

Hay 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 encarga del evento de entrada y lo transformará en la acción del usuario apropiada. A continuación, el controlador notifica el modelo de lo que ha hecho el usuario, lo que probablemente dará como resultado que el modelo cambie su estado (como actualización, por ejemplo). La vista plantea una pregunta al modelo para generar la interfaz de usuario. Finalmente, la interfaz de usuario espera instrucciones que reiniciarán el ciclo.

Resumen:

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

2. En lo que respecta 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.