Este enfoque arquitectónico se centra en la separación de responsabilidades dentro de una aplicación, dividiéndola en tres componentes principales: el modelo, la vista y el controlador.
Es un estilo de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario y la lógica de control en tres componentes distintos
Lógica de control
Interfaz de usuario
Datos aplicados
Controlador, es el que actúa como intermedio entre el modelo y la vista gestionando el flujo de información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno
Vista o interfaz de usuario que compone la información que se envía al cliente y los mecanismos de interacción con este.
Modelo que contiene una representación de los datos que maneja el sistema, su lógica de negocio y sus mecanismos de persistencia