¿Qué es un marco MVC?
El es Controlador de vista de modelo (MVC) el marco 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. Cada componente arquitectónico está diseñado para manejar un aspecto de desarrollo específico de su aplicación. MVC separa la lógica empresarial y la capa de presentación. Se ha utilizado tradicionalmente para interfaces gráficas de usuario (GUI) de escritorio. Hoy en día, la arquitectura MVC es popular para diseñar aplicaciones web y aplicaciones móviles.
En este tutorial, aprenderá más sobre-
Historia de MVC
- La arquitectura MVC discutida por primera vez en 1979 con Trygve Reenskaug
- El modelo MVC se introdujo por primera vez en 1987 en el lenguaje de programación Smalltalk.
- MVC se adoptó por primera vez como concepto general, en un artículo en 1988
- En los últimos años, el patrón MVC se usa ampliamente en aplicaciones web modernas.
Características de MVC
- Fácil prueba y fricción. Marco altamente inflable, extensible y enchufable
- Ofrece un control completo sobre su HTML y sus URL.
- Aproveche las funciones existentes de ASP.NET, JSP, Django, etc.
- Separación clara de lógica: Modelo, Visual, Controlador. Separar las tareas de la aplicación a saber. lógica empresarial, lógica Ul y lógica de entrada
- Enrutamiento de URL para URL que admiten SEO. Potente mapeo de URL para URL fáciles de entender y de búsqueda
- Soportes para el desarrollo basado en pruebas (DRP)
Arquitectura MVC
Los tres componentes importantes de MVC son:
- Modelo: Incluye todos los datos y su lógica relacionada.
- Ver: presenta datos o maneja la interacción del usuario
- Controlador: interfaz entre los componentes Modelo y Vista
Veámonos en detalle sobre este componente:
Mirar
Ver es la parte de la aplicación que muestra una presentación de datos.
Los comentarios se generan con los datos recopilados de los datos del modelo. Una vista del modelo busca brindar información para que el usuario disfrute de la presentación de salida.
La escena también muestra los datos de conversaciones, diagramas y una tabla. Por ejemplo, una 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 el teclado del usuario, informando al modelo y la percepción de que cambiará según corresponda.
El controlador envía comandos al modelo para actualizar su estado (por ejemplo, guardar un documento en particular). El controlador envía comandos a la vista adjunta para cambiar la presentación de la escena (por ejemplo, desplazarse por ciertos documentos).
Miniatura
El componente almacena un modelo de datos y su lógica asociada. Representa los datos que se transfieren entre los componentes del controlador o cualquier otra lógica comercial relacionada. Por ejemplo, un objeto Controlador recibirá 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.
Responde a la solicitud de los comentarios y también responde a las instrucciones del controlador para actualizarse. También es el nivel más bajo del patrón responsable de mantener los datos.
Ejemplos de MVC
Veremos un controlador de vista de modelo de la vida cotidiana:
Ejemplo 1:
- Asumimos que vas a un restaurante. No irá a la cocina y preparará alimentos que ciertamente puede hacer en su hogar. En su lugar, simplemente vaya allí y espere a que el servidor lo encuentre.
- Ahora el servidor viene a usted y usted pide la comida. El camarero no sabe quién es usted y qué necesita, simplemente escribió los detalles de su pedido de comida.
- Luego, el camarero se traslada a la cocina. En el servidor de la cocina no prepares tu comida.
- El chef prepara tu comida. El servidor recibe su pedido junto con su número de mesa.
- Entonces Cook te prepara la comida. Utiliza ingredientes para cocinar la comida. Suponemos que pide un sándwich de verduras. Luego necesitamos pan, tomates, patatas, pimiento, cebolla, un poco, queso, etc. Obteniéndolo de la nevera
- Cocine la última mano de la comida para el servidor. Ahora el trabajo del camarero es sacar esta comida de la cocina.
- Ahora el camarero sabe qué comida ordenó y cómo se sirven.
En este caso,
View= You Waiter= Controller Cook= Model Refrigerator= Data
Veamos un ejemplo más,
Ejemplo 2:
Otro ejemplo del modelo MVC es un mecanismo de accionamiento de automóvil.
- Cada coche tiene tres partes principales.
- Vista = Interfaz de usuario: (palanca de cambios, panel, volante, freno, etc.)
- Controlador – Mecanismo (motor)
- Modelo de almacenamiento (tanque de gasolina o diésel)
Un automóvil de los motores toma combustible del almacenamiento, pero solo funciona con los dispositivos de interfaz de usuario mencionados.
Marcos web comunes de MVC
Aquí hay una lista de algunos frameworks MVC muy populares.
Ventajas de MVC: beneficios clave
Estos son algunos de los grandes beneficios de usar la arquitectura MVC.
- Fácil mantenimiento del código Fácil de expandir y crecer
- El componente del modelo MVC se puede probar por separado del usuario
- Soporte más sencillo para nuevos tipos de clientes
- El desarrollo de los distintos componentes se puede realizar en paralelo.
- Le ayuda a evitar la complejidad al dividir una aplicación en tres unidades. Modelo, vista y controlador
- Utiliza solo un patrón de controlador de inicio que procesa las solicitudes de aplicaciones web a través de un solo controlador.
- Ofrece el mejor soporte para el desarrollo bajo prueba.
- Funciona bien para aplicaciones web que son compatibles con grandes equipos de diseñadores y desarrolladores web.
- Proporciona una separación neta de ansiedad (SoC).
- Optimización de motores de búsqueda (SEO).
- 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.
Las desventajas de usar MVC
- Este modelo es difícil de leer, cambiar, probar y reutilizar.
- La navegación del marco puede llevar mucho tiempo, ya que introduce una nueva serie de abstracciones que requieren que los usuarios se adapten a los criterios de descomposición de MVC.
- 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 realizar programación en paralelo.
- Se requiere conocimiento de muchas tecnologías.
- Mantener mucho código en el controlador
Arquitectura de 3 niveles vs Arquitectura MVC
Parámetro | Arquitectura Serie 3 | Arquitectura MVC |
Comunicación | Este tipo de patrón arquitectónico nunca se comunica directamente con la capa de datos. | Todas las capas se comunican directamente mediante una topología triangular. |
Usar | 3 capas: se usa ampliamente en aplicaciones web donde el cliente, los conjuntos de datos y la central se ejecutan en plataformas separadas físicamente. | Generalmente se usa en aplicaciones que se ejecutan en una sola estación de trabajo gráfica. |
Resumen
- El MVC es un patrón arquitectónico que separa una aplicación en 1) Modelo, 2) Visual y 3) Controlador
- Modelo: Incluye todos los datos y su lógica relacionada.
- Visual: presentación de datos del usuario o manejo de la interacción del usuario
- Controlador: interfaz entre los componentes Modelo y Vista
- Arquitectura MVC discutida por primera vez en 1979 con Trygve Reenskaug
- MVC es un marco de trabajo altamente medible, extensible y plug-in
- Algunos frameworks MVC populares son Rails, Zend Framework, CodeIgniter, Laravel, Fuel PHP, etc.