Que es MVC (Modelo Vista Controlador) y otros detalles

3 minuto(s)

Existen muchas formas o paradigmas para estructurar un proyecto, el universo del desarrollo web y de software es muy amplio, día a día tratamos de aprender algo nuevo y así ser mejores desarrolladores, en este artículo vamos a explicarte sobre MVC y puedas ir más allá en tu carrera como desarrollador, vamos con el artículo.

Que es MVC ?

Es una forma de organizar y estructurar un proyecto de Software separando las múltiples lógicas que este contiene, en términos técnicos MVC es un patrón de arquitectura de Software. Las iniciales MVC significan Model View Controller que en español significan Modelo Vista Controlador.

Si bien hay varios patrones  de arquitectura de Software, uno de los que se hizo más popular es el MVC por la rapidez en disponer de los elementos de cada sección, para acceder a los modelos y unirlos con la Vista por medio de los controladores, por otro lado MVC es muy simple para ordenar un proyecto y cumple muy bien su objetivo.

Historia

Este patrón tiene varios años en el medio y fue utilizado por primera vez con el lenguaje de Programación Smalltak por Trygve Reenskaug en los años de 1970 en adelante, luego en el año de 1988 MVC pasa a ser un concepto general para los ingenieros de Software.

En los años de 1980 en adelante, Jim Althoff y otros de sus compañeros también implementaron MVC en una nueva versión del Lenguaje de Programación Smalltak.

Hoy por hoy es usado en la enseñanza de las Universidades e Institutos de Desarrollo y también se aplica en el Desarrollo de Proyectos de Software.

Estructura MVC

Veamos a continuación que hace cada elemento del patrón MVC

Modelo

En esta sección integramos los elementos necesarios de la Base de Datos , por ejemplo si tenemos una tabla postres la debes llamar en el modelo junto con sus columnas precio, stock, nombre, imagen, etc. En el Modelo crear una clase que será utilizada en el controlador.

Vista

Tal como su nombre lo indica es la parte en donde mostramos o renderizamos el contenido de la Base de Datos, por ejemplo si abres en el Navegador para ver los postres que fueron procesados por métodos en el Controlador y enviados a la Vista para que el usuario final o el público final los puedan ver.

Controlador

Son un conjunto de funciones o métodos que realizan una determinada acción en la Vista, por ejemplo imprimir solo 3 o todos los postres que hay en la Base de Datos, también puedes colocar un botón en la Vista que diga eliminar o editar y creas un método en el controlador para eliminar o editar un postre de la Base de Datos.

Puedes crear muchas funcionalidades en el Controlador es la parte en donde hay más dinámica de un proyecto.

Frameworks MVC

Existen Frameworks o Marcos de Trabajo que usan el patrón MVC por ser el optimo para un desarrollo ágil y productivo, vamos a compartirte una lista con los Frameworks que usan este patrón de diseño, por si no sabes que es un Framework te recomendamos leer nuestro artículo Que es un Framework, Historia y Más Detalles, vamos con la lista

  • Django
  • Ruby on Rails
  • Laravel
  • Spring
  • Monorail
  • Sails JS
  • Yii
  • Zend
  • Cake PHP
  • Codeigniter
  • Symfony
  • Entre Otros

Evolución del Patrón MVC

Como bien sabemos la tecnología evoluciona dia a dia y MVC no es la excepción, en la actualidad han surgido otras variantes del patrón MVC por un tema de adaptación a los actuales clientes y lógicas de negocios más modernas, entre las cuales tenemos

  • HMVC (MVC Jerárquico)
  • MVA (Modelo Vista Adaptador)
  • MVP (Modelo Vista Presentador)
  • MVVM (Modelo-Vista Vista-Modelo)

En algunas ocasiones las empresas o desarrolladores de Software suelen variar su patrón de Software de acuerdo a sus necesidades, siempre bajo la base de MVC.

Conclusión

En la actualidad la mayoría de proyectos de gran envergadura usan el patrón de arquitectura de Software MVC, es por eso que es muy importante que sepas de que trata, como funciona y demás detalles que compartimos contigo en este artículo. Esperamos que esta información te sirva de mucho en tu carrera como Desarrollador, Ingeniero de Software o un área relacionada en la cual te encuentres.

 

Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.