Evolución MVC
-
Upload
nscoder-mexico -
Category
Technology
-
view
449 -
download
0
Transcript of Evolución MVC
![Page 1: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/1.jpg)
Norberto Ortigoza
![Page 2: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/2.jpg)
¡Eso ya lo se!
![Page 3: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/3.jpg)
![Page 4: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/4.jpg)
El desarrollador promedio no lo conoce
¡A pesar de que existe desde hace mas de 30 años!
![Page 5: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/5.jpg)
Otros hablan mucho de MVC“¡Es importante usarlo!”“Mi herramienta lo usa”
“¡Hay que usar patrones!”
![Page 6: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/6.jpg)
Pocos conocen la arquitectura original…
![Page 7: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/7.jpg)
Otros la conocieron pero ya se les olvido…
![Page 8: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/8.jpg)
Otros están intrigados
![Page 9: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/9.jpg)
![Page 10: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/10.jpg)
![Page 11: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/11.jpg)
Los desarrolladores escriben formas especificas de la aplicación que usan controles genéricos.
Las formas describen el layout de los controles.
![Page 12: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/12.jpg)
![Page 13: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/13.jpg)
Ediciones simples de datos son manejadas a través de data binding.
La forma observa los controles y tiene
métodos que reaccionan a eventos disparados por los controles (maneja cambios complejos).
![Page 14: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/14.jpg)
![Page 15: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/15.jpg)
![Page 16: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/16.jpg)
Hace una clara separación entre presentación (view & controller) y el dominio (model) - Separated Presentation.
![Page 17: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/17.jpg)
Divide los widgets del GUI en un controlador (para reaccionar a los estímulos del usuario) y una vista (para desplegar el estado del modelo).
El Controller y la View solo se deberían de comunicar a través del modelo.
![Page 18: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/18.jpg)
![Page 19: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/19.jpg)
Las vistas y los controladores observan el modelo para permitir que múltiples widgets se actualicen sin necesidad de comunicarse directamente - Observer Synchronization.
![Page 20: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/20.jpg)
![Page 21: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/21.jpg)
En MVC es fundamental el concepto de Modelo del Dominio.
Hay lógica que no pertenece al Dominio (lógica y estado de la vista).
![Page 22: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/22.jpg)
![Page 23: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/23.jpg)
Controller
ViewPresentation Model
DODO
DO
Modelo de la Aplicación Interface con el Usuario
Modelo
Dominio
![Page 24: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/24.jpg)
![Page 25: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/25.jpg)
Unificación de Formas y Controles con MVC.
Interacciones del usuario son manejados por el Presenter.
Los widgets son actualizados por medio del Observer.
![Page 26: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/26.jpg)
Presenter
View
Model
DODO
DO
Dominio Interface con el Usuario
![Page 27: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/27.jpg)
![Page 28: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/28.jpg)
![Page 29: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/29.jpg)
El Presenter manipula los widgets directamente solo en los casos mas complejos. -Supervising Controller
El Presenter controla completamente los widgets. -Passive View
![Page 30: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/30.jpg)
Cuando el Presenter controla por completo a los widgets se puede probar gran parte del sistema sin recurrir al GUI.
Se requiere contar con un Test Double para simular el GUI.
![Page 31: Evolución MVC](https://reader031.fdocuments.es/reader031/viewer/2022021418/587a16b21a28abb4238b54b3/html5/thumbnails/31.jpg)
¡Ya termine!