¿Qué es MVC?
El marco MVC es un patrón arquitectónico que separa una aplicación en tres partes lógicas principales: Modelo, Visual y Controlador. De ahí la abreviatura MVC. El formulario completo es MVC Model View Controller.
En esta arquitectura, se crea un componente para manejar características de desarrollo específicas de su aplicación. MVC separa la lógica empresarial y la capa de presentación. Este patrón arquitectónico se utiliza principalmente para interfaces gráficas de usuario (GUI) de escritorio.
En este tutorial, aprenderá:
¿Qué es MVVM?
La arquitectura MVVM facilita la segmentación entre el desarrollo de la interfaz gráfica de usuario con la ayuda del lenguaje de marcado o el código GUI. La forma completa de MVVM es Model-View-ViewModel.
El modelo de vista MVVM es un convertidor de valor, lo que significa que es responsabilidad del modelo ver los objetos de datos revelados desde el Modelo de tal manera que los objetos se manejen y presenten fácilmente.
EFECTO CLAVE
- Un marco MVC es un patrón arquitectónico que separa una aplicación en tres partes lógicas principales: Modelo, Visual y Controlador. MVVM, por otro lado, facilita la segmentación entre el desarrollo de la interfaz gráfica de usuario con la ayuda del lenguaje de marcado o el código GUI.
- En MVC, el controlador es el punto de entrada de la Aplicación, y en MVVM, la vista es el punto de entrada de la Aplicación.
- El componente del modelo MVC se puede probar por separado del usuario, mientras que MVVM es fácil para probar unidades separadas y el código se basa en eventos.
- La arquitectura MVC tiene una relación de «uno a muchos» entre el controlador y la vista y, en la arquitectura MVVC, relaciones de «uno a muchos» entre la vista y el modelo de vista.
Patrón MVC
Los tres componentes importantes de MVC son:
- Miniatura: Incluye todos los detalles y su lógica relacionada.
- Vista: Presentar datos al usuario o manejar la interacción del usuario.
- Controlador: Interfaz entre los componentes Modelo y Vista.
Veremos cada uno de este componente en detalle:
Miniatura
El componente almacena el modelo de datos y la lógica relacionada. Representa los datos que se transfieren entre los componentes del controlador o cualquier otra lógica comercial relacionada.
Por ejemplo, un objeto Controlador le ayuda a recuperar información del cliente de la base de datos. Manipula y envía datos a la base de datos o los usa para proporcionar los mismos datos.
Mirar
Ver es la parte de la aplicación que muestra la presentación de datos. Los comentarios se generan con los datos recopilados de los datos del modelo. Una vista del modelo busca proporcionar información para que devuelva el resultado al usuario.
La Vista también muestra los datos de gráficos, diagramas y una tabla. Por ejemplo, cualquier vista de cliente incluirá todos los componentes de la interfaz de usuario, como cuadros de texto, menús desplegables, etc.
Controlador
El controlador es la parte de la aplicación que se ocupa de la interacción del usuario. El controlador interpreta las entradas del mouse y del teclado del usuario, notificando al modelo y al visual de un cambio según corresponda.
El controlador envía comandos al modelo para actualizar su estado (por ejemplo, guardar un documento específico). El controlador envía comandos a la vista asociada para cambiar la presentación de la vista (por ejemplo, desplazarse por un documento en particular).
Patrón MVVM
Aquí hay un patrón para MVVM:
La arquitectura de enlace de datos MVVM ofrece dos formas entre el modelo visual y el visual. También le ayuda a automatizar la proliferación de modificaciones dentro de View-Model. El modelo visual utiliza un patrón de observador para realizar cambios en el modelo visual.
Veámonos en detalle sobre este componente:
Miniatura
El modelo almacena datos y lógica relacionada. Representa datos que se transfieren entre los componentes del controlador o cualquier otra lógica comercial relacionada.
Por ejemplo, un objeto Controlador recuperará información del estudiante de la base de datos de la escuela. Manipula y envía datos a la base de datos o los usa para proporcionar los mismos datos.
Vista:
Visual significa componentes de interfaz de usuario como HTML, CSS, jQuery, etc. En el patrón MVVC es responsable de mostrar los datos resultantes del Controlador. Esta vista cambia los modelos a la interfaz de usuario (UI).
Ver modelo:
El modelo Visual es responsable de presentar funciones, comandos, métodos, para apoyar el estado del Visual. También es responsable de operar el modelo y activar los eventos en Visual.
Características de MVC
Estas son algunas de las características clave de MVC:
- Fácil comprobabilidad y fricción. Marco altamente inflable, extensible y enchufable
- También puede aprovechar las características existentes ofrecidas por ASP.NET, Django, JSP, etc.
- Le da un control total sobre su HTML y sus URL.
- Admite el desarrollo basado en pruebas (TDD)
- Esta arquitectura ofrece una lógica distinta
- Permite el enrutamiento de URL que admiten SEO.
- Ofertas para mapear URL comprensibles y buscables.
Características de MVVM
Estas son algunas de las características de la arquitectura MVVM:
- MVVM está escrito para una aplicación de escritorio con capacidades de enlace de datos: XAML y la interfaz INotifyPropertyChanged
- Si desea modificar en el modelo de vista, el modelo de vista utiliza un patrón de visor.
- El patrón MVVM es utilizado principalmente por WPF, Silverlight, nRoute, etc.
Diferencia entre MVVM y MVC
Aquí están las diferencias importantes entre MVVM y MVC
MVC | MVVM |
El controlador es el punto de entrada de la aplicación. | La escena es el punto de entrada de la Aplicación. |
Relación con muchos entre el Controlador y Visual. | Relación con muchos entre Ver y Ver modelo. |
Ver Sin referencia al controlador | La vista tiene referencias a la vista del modelo. |
MVC es un modelo antiguo | MVVM es un modelo relativamente nuevo. |
Este modelo es difícil de leer, cambiar, probar y reutilizar | El proceso de depuración será complicado cuando tengamos conexiones de datos complejas. |
El componente del modelo MVC se puede probar por separado del usuario | Es fácil para pruebas de unidades separadas y está basado en código en eventos. |
Ventaja de MVC
Aquí están los beneficios / ventajas de MVC
- Soporte más sencillo para un nuevo tipo de cliente
- El desarrollo de los distintos componentes se puede realizar en paralelo.
- Evita la complejidad al dividir una aplicación en unidades separadas (MVC)
- Utiliza solo un patrón de controlador de front-end que procesa aplicaciones de aplicaciones web con un solo controlador.
- Ofrece el mejor soporte para el desarrollo bajo prueba.
- Funciona bien para aplicaciones web, que cuentan con el apoyo de grandes equipos de diseñadores y desarrolladores web.
- Proporciona una separación neta de ansiedad (SoC).
- Cada elemento y objeto son independientes entre sí, por lo que puede probarlos por separado.
- MVC permite la agrupación lógica de acciones relacionadas en un controlador.
Ventajas de MVVM
Aquí están los pros / contras de MVVM
- La lógica empresarial está desacoplada de Ul
- Fácil de mantener y probar
- Componentes fáciles de reutilizar
- Arquitectura de acoplamiento suelto: MWM acopla libremente la arquitectura para aplicaciones.
- Puede escribir casos de prueba unitaria tanto para la capa de modelo visual como para la capa de modelo sin la necesidad de consultar Visual ‘.
Desventaja de MVC
Aquí están las desventajas / desventajas de MVC
- La lógica empresarial se mezcla con Ul
- Difícil de reutilizar e implementar pruebas
- Sin soporte de validación formal
- Mayor complejidad e ineficiencia de los datos
- La dificultad de usar MVC con la interfaz de usuario moderna
- Muchos programadores necesitan hacer programación en paralelo.
- Se requiere conocimiento de muchas tecnologías.
Desventajas de MVVM
Aquí están las desventajas / desventajas de MVVM
- Mantener mucho código en el controlador
- Algunas personas piensan que se pueden eliminar demasiadas habilidades de las IU simples para la arquitectura MVVM.
- No ofrece un acoplamiento estrecho entre el modelo visual y visual.