¿Cuál es la idea detrás de cada una de las partes en el patrón modelo-vista-controlador?

La idea detrás de MVC es proporcionar un patrón arquitectónico de proyecto bien estructurado y estándar. De hecho, incluso puede usar su propio patrón de arquitectura de proyecto personalizado. De la misma manera, MVC también es un patrón de arquitectura de proyecto que ayuda a organizar el proyecto en forma de estructura que es muy útil a medida que el proyecto se expande y se vuelve difícil de administrar. El proyecto grande apesta si no hay una estructura de proyecto definida al inicio. La mayoría de las veces, más de 1 desarrollador trabaja en el proyecto, se hace difícil administrar ese proyecto y es mejor usar una estructura de proyecto y MVC se ajusta bien y está bien estructurado

La mejor ventaja de MVC es SOC (Separación de preocupaciones) : – La separación MVC reduce la complejidad al diseñar aplicaciones grandes. El código está mucho más estructurado y, por lo tanto, es más fácil de mantener, probar y reutilizar.

MVC no es un patrón de diseño, es un patrón arquitectónico que describe una forma de estructurar nuestra aplicación y las responsabilidades e interacciones de cada parte en esa estructura.

La idea detrás del patrón arquitectónico Modelo-Vista-Controlador es simple: debemos tener las siguientes responsabilidades claramente separadas en nuestra aplicación:

Controlador : contiene la lógica de negocios. Utiliza objetos de modelo para realizar diferentes operaciones como Insertar, Actualizar, Eliminar, Seleccionar registros.

Modelos : contiene los objetos / entidades de la base de datos

Vistas : se utiliza para representar el resultado de la lógica de negocios y para ver el diseño de la página

Me gusta la metáfora de TV donde el contenido de TV disponible es provisto por proveedores de programación (modelo). El televisor en sí es su interfaz para ver este contenido (ver). Por último, su cuadro superior de control remoto y configuración (o el mecanismo de selección de canales dentro del televisor) le permite elegir los canales para consumir (controlador).

La vista es lo que el usuario ve e interactúa en la pantalla. El controlador es el manejo del policía de tráfico en acción por parte del usuario u otras partes de la aplicación. El modelo maneja la mayor parte del resto del trabajo proporcionando muñecas de datos, reglas sobre acceso y sobre acciones.

Tomemos, por ejemplo, un usuario, él puede registrarse, iniciar sesión y cerrar sesión. Puede visualizar las pantallas con las que el usuario interactúa, el controlador enruta las solicitudes a diferentes acciones en el modelo que coinciden con las acciones deseadas