Diferencia entre MVVM y MVP

El propósito del desarrollo de software es crear soluciones que aborden las necesidades y los problemas de los usuarios y las empresas. Para lograrlo, le gustan las diferentes tecnologías y patrones arquitectónicos. Modelo-Vista-Modelo de vista (MVVM) y Modelo-Visual-Presentador (MVP) se usa

Como con cualquier cosa fabricada, el primer paso es la fase de planificación y diseño. El proceso de diseño de software puede ser una especificación basada en la elección de herramientas tecnológicas y puede incluir todas las actividades desde la generación hasta la planificación, la implementación, las actualizaciones y las modificaciones.

Cubre el diseño arquitectónico de bajo y alto nivel, basado en patrones arquitectónicos seleccionados, y mapea soluciones reutilizables usando patrones de diseño.

Estructura de la aplicación de software

La arquitectura de software define la estructura de una aplicación que cumple con los requisitos técnicos, operativos y de usuario y se refiere a cómo se organiza y administra el código.

Determinar la arquitectura de una aplicación de software es fundamental porque no es una parte fácil de cambiar de una aplicación ya desarrollada; por lo tanto, el patrón arquitectónico debe determinarse antes de que comience cualquier registro.

Los patrones arquitectónicos son ligeramente diferentes de los patrones de diseño porque su alcance es mucho más amplio al abordar problemas más técnicos, como el rendimiento y las limitaciones del hardware, y la alta disponibilidad. Ejemplos de diferentes patrones arquitectónicos son MVC, MVVM y MVP.

Por otro lado, los patrones de diseño son prácticas formales que facilitan el desarrollo orientado a objetos reutilizables y son más fáciles de mantener y cambiar que la arquitectura de aplicaciones.

Patrones Arquitectónicos

Controlador de vista de modelo (MVC) Fue uno de los primeros patrones arquitectónicos desarrollados para aplicaciones web, que se hizo muy popular a mediados y finales de los noventa, especialmente entre la comunidad Java.

Los marcos más nuevos, como Django para Python y Rails (Ruby on Rails), tienen un fuerte enfoque en la implementación rápida, razón por la cual MVC está ganando participación de mercado como el gran atractivo en los patrones arquitectónicos.

Tradicionalmente, el desarrollo de la interfaz de usuario implicaba una gran cantidad de código para manejar una lógica compleja, por lo que los patrones arquitectónicos se diseñaron para reducir el código en el nivel de la interfaz de usuario (UI), haciéndolo más «limpio» y más manejable.

Entonces, con el patrón MVC, una aplicación web se compone de

  • Miniatura (detalles)
  • Vista (interfaz para ver y manipular datos)
  • Controlador (operaciones y actividades realizadas sobre los datos)

el es Miniatura maneja datos y lógica de negocios y no hay dependencias entre el Miniatura y el Controlador o Vista.

el es Vista presentar los datos al usuario en el formato compatible y el diseño requerido, y cuando el Controlador recibe solicitudes de los usuarios (para obtener datos), llama a los recursos relevantes necesarios para completar la solicitud.

Aplicaremos este patrón para construir una librería en línea.

Los usuarios pueden buscar, ver, registrarse y comprar libros, así como administrar sus perfiles y listas de libros. Cuando un usuario hace clic en la categoría SCI-FI, todos los libros relacionados deben mostrarse como disponibles.

Descubre también la:  Diferencia entre Spotify y Pandora

Los Controladores manejan las acciones que administran los libros (listar, agregar, ver, etc.). Puede haber varios Controladores con un Controlador principal ‘dirigiendo el tráfico’.

Por ejemplo, el controlador se denomina controlador_libros.php y el modelo (p. ej., modelo_libros.php) maneja los datos y la lógica relacionados con los libros.

Finalmente, se necesitarán diferentes vistas, por ejemplo, al agregar libros al carrito en línea o ver los detalles del libro con imágenes y reseñas.

el es controlador_libros.php recibe la acción (solicitud del usuario) del controlador principal (p. ej. índice.php). el es controlador_libros.php análisis de la solicitud y llama al modelo_libros.php (los datos) para devolver la lista de libros SCI-FI.

La responsabilidad es la Miniatura proporcionar esa información, usando cualquier lógica aplicada (usando filtros de búsqueda). el es Controlador luego toma la información y se la pasa a la persona pertinente Vista (vista de búsqueda, fuente de impresión, vista en miniatura, etc.) y se presenta la información (a través del Vista) al usuario que inició la solicitud.

Este es el origen del patrón MVC, que ha generado variaciones en los patrones arquitectónicos, como Model-View-Presenter (MVP), Model-View-ViewModel (MVVM), Hierarchical-Model-View-Controller (HMVC) y Modelo-Vista-Adaptador (MVA), etc.

patrón de jugador más valioso

Modelo-Visual-Presentador (MVP)

el es patrón de jugador más valioso Ha existido por un tiempo y es una versión MVC. Diseñado específicamente para la automatización de pruebas donde el objetivo era aumentar la cantidad de código que se puede probar a través de la automatización, el patrón aborda varios problemas con la capa de presentación, aislando la lógica comercial de la interfaz de usuario.

La pantalla es la Vista, el Modelo son los datos que muestra, y el Presentador une los dos.

jugador más valioso integrado por los siguientes componentes con responsabilidades específicas:

  • Miniatura (define los datos a mostrar)
  • Vista (muestra los datos del modelo y envía las solicitudes de los usuarios al presentador).
  • Presentador (Las interacciones entre la Vista y el Modelo son enlaces entre sí)

el es Vista (página web) que muestra y administra los controles de la página pasando eventos (solicitudes de usuario) al Presentador que se iniciaron en Vista.

el es Presentador responde a estos eventos leyendo y actualizando el Miniatura para cambiar la Vista y por lo tanto, el Presentador Es responsabilidad de obligar a los Miniatura y Vista.

Después de ver MVC y jugador más valioso patrones, lo común son los dos Hay responsabilidades específicas para cada componente y separan los Vista (IU) y Miniatura (detalles). Las diferencias significativas entre estos patrones son más evidentes en la forma en que se implementan los patrones.

jugador más valioso puede ser un patrón complejo de implementar para soluciones de gama alta, pero sin duda tiene grandes beneficios si se implementa como una solución bien diseñada, aunque puede que no sea necesariamente la opción adecuada para su simple.

patrón MVVM

Modelo-Vista-Modelo de vista (MVVM)

el es MVVM patrón diseñado específicamente para las plataformas Windows Presentation Foundation (WPF) y Microsoft Silverlight, y se puede utilizar en todos XAML[i] plataformas

Descubre también la:  Diferencia entre Bluetooth y AirPlay

WPF es un sistema de Microsoft para representar interfaces de usuario en programas basados ​​en Windows y se lanzó por primera vez en .NET Framework 3.0.

MVVM fue filtrado de MVC y en este patrón, el Vista activo con comportamientos, eventos y enlace de datos, y el Vista sincroniza con el Ver modelo (que les permite separar la presentación y expone métodos y comandos para administrar y manipular la presentación Miniatura.

MVVM consta de tres componentes básicos:

  • Miniatura (Muestra los datos con validación y lógica de negocio)
  • Vista (La vista es responsable de definir la estructura, el diseño y la apariencia de lo que el usuario ve en la pantalla. Idealmente, la vista se define solo con XAML, con un código limitado detrás que no contiene lógica comercial. Datos bidireccionales: enlace entre la Vista y Ver modelo para sincronizar el Modelo y ViewModel para mostrar la Vista)
  • Ver modelo (la Vista se separa del Modelo y expone métodos y comandos para manipular los datos (Modelo).

el es Vista recibe datos de la Ver modelo (mediante la vinculación de datos y métodos), y en tiempo de ejecución, el Vista cambiará en respuesta a los eventos en el Ver modelo.

el es Ver modelo mediación entre los Vista y Miniatura y maneja el Vista lógica. Interactúa con el Miniatura – tomar los datos de la Miniatura y presentarlo al Vista mostrar.

Todos estos componentes están desacoplados entre sí, lo que permite una mayor flexibilidad para trabajar en ellos de forma independiente, aislar las pruebas unitarias e intercambiarlas, sin afectar a ningún otro componente.

Esta estructura permite la Miniatura y otros componentes para evolucionar de forma independiente, lo que permite a los desarrolladores trabajar simultáneamente en diferentes aspectos de la solución. Por ejemplo, cuando los diseñadores están trabajando en la Vista, simplemente generan muestras de datos sin necesidad de acceder a los otros componentes. Esto facilita el rediseño fácil de la interfaz de usuario como el Vista implementado en XAML.

Como ya se mencionó por jugador más valioso, no habría necesidad de patrones arquitectónicos y de diseño, como «¡Hola mundo!» es demasiado básico para seguir cualquier patrón; sin embargo, a medida que se introducen más características, funciones y componentes, aumenta la complejidad de la aplicación y también la cantidad de código que debe administrarse.

En breve

Desde el comienzo del desarrollo de la interfaz de usuario, los patrones de diseño se están volviendo más populares para facilitar el proceso de desarrollo, las aplicaciones son más escalables y facilitan las pruebas.

Diferencia mostrada entre los patrones MVP y MVVM:

  • En ambos jugador más valioso y MVVMla Vista es el punto de entrada para la aplicación
  • yo jugador más valiosohay un mapeo uno a uno entre los Vista y Presentadordonde estoy MVVMexiste una relación de uno a muchos entre los Vista y Ver modelo.
  • jugador más valioso utilizado principalmente para Windows Forms y aplicaciones de Windows Phone y MVVM está diseñado para Silverlight, WPF, Knockout/AngularJS, etc.

Wlip.es

Somos entusiastas de la tecnología, la ciencia y sus avances. Nuestra curiosidad nunca se sacia y por eso intentamos investigar y conocer cada día más cosas. Te traemos las diferencias más curiosas sobre conceptos, cosas y mucho más.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *