MVC
Modelo – Vista – Controlador
Emmanuel Acevedo Díaz
Código Espagueti
●
El código espagueti es un término peyorativo para los programas de
computación que tienen una estructura de control de flujo compleja e
incomprensible.
2
Patrón de Diseño
●
Un patrón, es una solución probada que se puede aplicar con
éxito a un determinado tipo de problemas que aparece con
frecuencia.
3
Modelo - Vista - Controlador
●
Desarrollado a finales de los años 70’s
●
Especifica uso de capas para dividir una aplicación
●
Modelo → Representa un registro en una base de datos contiene
lógica de la aplicación.
●
Vista → Parte visual con la que el usuario interactúa.
●
Controlador → Controla el flujo de la información y define el
comportamiento de la aplicación
4
Modelo – Vista - Controlador
5
Ventajas
●
Separación clara de dónde tiene que ir cada tipo de lógica,
facilitando el mantenimiento y la escalabilidad de nuestra
aplicación.
●
Sencillez para crear distintas representaciones de los mismos
datos.
●
Facilidad para la realización de pruebas unitarias.
●
Reutilización de los componentes.
●
En el caso se apliaciones web, separación de CSS, Javascript,
HTML (vista), del lenguaje de backend (controlador: java, php,
ruby, .net …)
6
Frameworks
●
Existe diversidad de frameworks Web que implementan ente
patrón, entre los más conocidos tenemos
●
Rails (Ruby)
●
Laravel (php)
●
SpringMVC (java)
●
Django (python)
●
.net MVC (.net)
7
Referencias
●
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design Patterns: Elements of Reusable
Object-Oriented Software. Addison-Wesley.
●
Reenskaug, T. (1979). Models-Views-Controllers. https://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-
12-MVC.pdf
●
Fowler, M. (2004). Patterns of Enterprise Application Architecture. Addison-Wesley.
●
Leff, A., & Rayfield, J. T. (2001). Web-application development using the model/view/controller
design pattern. Proceedings Fifth IEEE International Enterprise Distributed Object Computing
Conference.
8
¡GRACIAS!