¿Qué es la arquitectura MVC?

La arquitectura MVC es una arquitectura muy utilizada en aplicaciones interactivas. La arquitectura MVC corresponde al modelo de arquitectura de aplicaciones tradicional de entrada, procesamiento y salida a una interfaz de usuario. La arquitectura MVC corresponde al modelo de arquitectura de aplicaciones tradicional (entrada, procesamiento y salida a una interfaz de usuario), así como a aplicaciones web de clase empresarial, basadas en dominios y de múltiples niveles.

La arquitectura MVC divide la aplicación en tres capas: capa de modelo, capa de vista y capa de control, y reduce sus respectivas responsabilidades. Cada capa maneja tareas específicas y tiene responsabilidades especiales hacia otras capas.

A. El modelo almacena datos comerciales y controla la lógica comercial o las operaciones para acceder y modificar los datos comerciales. En términos de representación, los modelos son algo similares a las funciones del software. Cuando el modelo cambia, el modelo notifica a la vista y le proporciona la capacidad de consultar el estado del modelo. También proporciona al controlador la capacidad de acceder a la funcionalidad de la aplicación encapsulada en el modelo.

B. La vista muestra el contenido del modelo. Accede a los datos en el modelo y realiza el trabajo de mostrar los datos. Cuando el modelo cambia, la vista actualiza inmediatamente la visualización de los datos. Las vistas también tienen la funcionalidad de pasar la entrada del usuario a los controladores.

C. Los controladores definen el comportamiento de la aplicación. Envía solicitudes de usuarios y luego llama a las vistas apropiadas para mostrar esas solicitudes. Analiza la entrada del usuario y luego la compara con el manejo de eventos en el modelo para completar la función correspondiente. En una aplicación cliente GUI estándar, la entrada del usuario incluye clics en botones y selecciones de menú. En las aplicaciones WEB, la entrada del usuario son solicitudes HTTP GET y POST en la capa WEB. El controlador selecciona la vista adecuada para mostrar en función de los resultados de la interacción del usuario con el modelo. Una aplicación típica tiene un único controlador que maneja todas las funciones relevantes. Algunas aplicaciones utilizan diferentes controladores para diferentes tipos de clientes porque las interacciones y las selecciones de vista pueden diferir entre los tipos de clientes.