¿Qué hace un controlador en el patrón MVC?

Autor: | Última modificación: 26 de octubre de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

El mundo de la programación ha desarrollado el concepto de patrones, soluciones estándar para resolver determinados problemas. Uno de los patrones más conocidos es el modelo vista controlador, también llamado MVC por sus siglas. En este post, te enseñaremos qué es y qué hace un controlador en el patrón MVC, un concepto fundamental para el funcionamiento de esta técnica.

¿Qué es un controlador en el patrón MVC?

Como puedes leer en nuestro post sobre el modelo vista controlador, un controlador en el patrón MVC se dedica a gestionar la comunicación entre las otras dos partes de esta técnica. Es decir, entre el modelo de datos y la vista. Desde la teoría este concepto es muy sencillo de entender. Sin embargo, cuando nos sentamos a ver nuestro código y pensamos en segmentarlo según este patrón, comprender las funciones del controlador es un poco más difícil.

Muchas veces nos preguntan cuánta lógica podemos meter en un controlador en el patrón MVC. La realidad es que finalmente tu código es tuyo y puedes hacer con él lo que desees. Sin embargo, implementar el patrón MVC tiene el objetivo de segregar responsabilidades, por lo que si estás aplicando lógica al controlador, tal vez no estás implementando el patrón correctamente. A pesar de esto, puede haber ocasiones en las que cumplir con la entrega de un proyecto nos fuerza a modificar las reglas. Esta es la magia del desarrollo web, que siempre habrá la posibilidad de refactorizar y mejorar código más adelante.

Ya que el controlador es un concepto un poco más ambiguo que los dos otros segmentos de este patrón, a continuación te enseñaremos exactamente qué hace un controlador en el patrón MVC.

¿Qué hace un controlador en el patrón MVC?

Un controlador en el patrón MVC es una sección de código, ojalá dividida en un archivo aparte, que tiene muchas funciones. A continuación, te contamos las funciones más importantes de este segmento de código en el contexto de JavaScript para frontend.

Desde el backend, un controlador en el patrón MVC se entiende más como una reacción o consecuencia de consumir un endpoint. Para el frontend, este concepto es más complejo y tiene las siguientes funciones.

Intermediar

Como mencionamos anteriormente, una de las misiones principales del controlador en el patrón MVC es orquestar la intermediación entre el modelo y la vista. En este sentido, también estaría ejecutando el desacoplamiento de las dos capas.

Controlar

Como su nombre indica, un controlador también controla. ¿Y qué controla exactamente? Pues uno de los elementos que seguramente controlará serán los eventos que se reciban de la interacción del usuario con la vista.

En relación al segmento de modelo, el controlador también podría ejecutar la validación de datos que reciba nuestro proyecto, sean de la fuente que sean. Es decir, si tenemos algún formulario, el controlador debería recoger los datos cuando el usuario haga clic sobre un botón submit y gestionarlos de la manera que definamos. Algunos ejemplos de esta gestión son la validación de los datos de ingreso y la revisión de la longitud de los datos, como ocurre con las contraseñas de mínimo 8 caracteres.

Aplicar lógica

Otra manera de entender lo que hace un controlador en el patrón MVC es pensar en que este segmento de código ejecutará una lógica sobre una parte de nuestro elemento HTML. Es decir, hará un trozo de JavaScript que se va a encargar de orquestar reacciones sobre un trozo de HTML. Este trozo HTML puede pensarse como un nodo del DOM o etiqueta específica.

Gestionar errores

Otra de las funciones de un controlador en este patrón es la gestión de errores, ya sea en el procesamiento de los datos o de la vista.

Si todavía tienes dudas sobre la implementación del controlador en un proyecto web, te invitamos a leer nuestros posts sobre identificar el modelo vista controlador y sobre implementar el modelo vista controlador.

¿Quieres seguir aprendiendo?

Ahora sabes exactamente qué es y qué hace un controlador en el patrón MVC, con lo que te acercas cada vez más a dominar los distintos conceptos del desarrollo web. Sin embargo, ¡todavía queda mucho por aprender! Por ello, te invitamos a nuestro Desarrollo Web Full Stack Bootcamp, un espacio de formación intensiva donde aprenderás a dominar lenguajes como JavaScript, HTML, CSS, JSX y más. ¿A qué esperas para cumplir tu sueño de ser un desarrollador web? ¡No lo dudes más e inscríbete!

👉 Descubre más del Desarrollo Web Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.

¿Sabías que hay más de 40.000 vacantes para desarrolladores web sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!