SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
CONSTRUCCIÓN
DE INTERFACES
DE USUARIO
2do Cuatrimestre de 2018
Repaso Binding y Eventos
2
▸ Eventos
▹ Tanto la vista como el modelo producen eventos.
▹ Inversión relación de conocimiento
▹ Similar patron Observer
▸ Binding
▹ Muchos frameworks proveen mecanismos de binding
▹ Relaciona dos variables manteniendolas vinculadas
▹ Unidireccional y Bidireccional
Patrón Model-View-Controller
3
Patrón de arquitectura
Patrón Model-View-Controller
4
▸ Vista
▹ Capa de presentación / interfaz de usuario
▹ Ventanas, botones, inputs.
Patrón Model-View-Controller
5
▸ Modelo
▹ Capa que contiene la lógica de la aplicación - TP1
▹ Contiene la lógica de negocio/reglas de negocio
▹ Modelo de objetos
▹ Ejemplo: objetos que representen:
▹ Un contacto de una agenda
▹ Un movimiento de una caja de ahorro.
Patrón Model-View-Controller
6
▸ Controlador
▹ Intermediario entre la capas Vista y Modelo.
▹ Orquestadores del modelo o decisores de la
operación
▹ Gestiona el flujo de información entre el las
capas.
▹ Adapta la vista con el modelo.
Patrón Model-View-Controller
7
▸ Modelo - Errores comunes
▹ Aparición de lógica de negocio en otras capas
▹ Modelo con elementos propios de interacción con
usuario
Patrón Model-View-Controller
8
▸ Ejemplo Arena - Conversor
View
Patrón Model-View-Controller
9
▸ Ejemplo Arena - Conversor
Modelo
Patrón Model-View-Controller
10
▸ Ejemplo Arena - Conversor - Controller
Patrón Model-View-Controller
11
TextBox
Button
Label
onClick Conversor
Vista Controlador Modelo
Patrón Model-View-Controller
12
▸ Beneficios
▹ Reutilización de código
▹ Separación de conceptos - Legibilidad
▹ Facilitar el desacople para el desarrollo
▹ Facilitar el mantenimiento
▹ Aparición de perfiles especializados en cada capas
▹ Desacople de tecnologías
▹ Mantenimiento - Testing
Validaciones
13
▸ Validaciones a nivel de Vista (View)
▹ Aquellas que deben ser realizadas sin la
necesidad de intervención del modelo
▹ La validación se visualiza en la misma capa.
▸ Validaciones a nivel de Modelo
▹ Aquellas que deben ser realizadas por el
modelo dado que implican reglas de negocio.
▹ Deben se informadas a la capa View.
Validaciones a nivel Vista
14
▸ “Los km solo pueden ser valores numéricos”
▸ “El formato de fecha es inválido; debe ingresar el
formato dd/mm/aaaa”
▸ Debe ingresar un máximo de 20 dígitos ”
Validaciones a nivel Modelo
15
▸ “Debe ingresar un número de cliente válido”
▸ “Ya existe un capítulo con igual identificador para la serie
seleccionada”
En Arena las ventanas del tipo SimpleWindows manejan
UserException mostrando el mensaje de error
Validaciones a nivel Modelo
16
Regla importante:
Mensajes descriptivos que permitan al usuario
identificar claramente cuál regla de negocio no se
está cumpliendo y le permita continuar con el
proceso.
Manejo de errores
17
Son errores propios de la programación, que hace que
no sean modelados, simplemente ocurren y que
identificarlas y tratarlas
Ejemplos de errores:
- NullPointerException
- ArrayIndexOutOfBoundsException
- ArithmeticException
Application Model vs
Model Simple
18
Cada vista necesita un modelo pero cuando la
complejidad de interacción entre el usuario y el modelo
crece aparece el concepto de Application Model
Consiste en crear un objeto que tenga la
representación del comportamiento global de la
aplicación. Generalmente representan un Caso de Uso
Application Model vs
Model Simple
19
Diferentes Ciclos de vida
Los objetos de dominio se crear, se persisten, se
modifican, etc.
Los objetos de aplicación se usan una sola vez.
Application Model vs
Model Simple
20
Esquema MMVC
V - Vista: la pantalla *Window
C - Controller: adapta la vista con el modelo, en este
caso con el application model, es el encargado de
resolver el binding
M - Modelo de la vista/modelo de
aplicación/application model: modela al caso de
uso, mantiene simple el binding con la vista
M - Modelo de dominio
Application Model vs
Model Simple
21
Ejemplo

Más contenido relacionado

Similar a 3.mvc app model-valida-excep

MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORRené Pilataxi
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controladorEmilio Sarabia
 
Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controladorCecy Villalta
 
Drupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommerceDrupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommercePedro Cambra
 
4.1. validaciones-y-excepciones
4.1. validaciones-y-excepciones4.1. validaciones-y-excepciones
4.1. validaciones-y-excepcionesxavazque2
 
3.1 mvc-mvvm-app model-binding
3.1 mvc-mvvm-app model-binding3.1 mvc-mvvm-app model-binding
3.1 mvc-mvvm-app model-bindingxavazque2
 
Prototipado rapido de interfaces
Prototipado rapido de interfacesPrototipado rapido de interfaces
Prototipado rapido de interfacesGaby Fernandez
 
Análisis de Procesos con Adonis
Análisis de Procesos con AdonisAnálisis de Procesos con Adonis
Análisis de Procesos con AdonisIsrael Rey
 
Defensa - Sistema de Gestión de Producción Creativa
Defensa - Sistema de Gestión de Producción CreativaDefensa - Sistema de Gestión de Producción Creativa
Defensa - Sistema de Gestión de Producción CreativaGilberto Ramos Amarilla
 
Tutorial del software U90Ladder para programar OPLC Unitronics
Tutorial del software U90Ladder para programar OPLC UnitronicsTutorial del software U90Ladder para programar OPLC Unitronics
Tutorial del software U90Ladder para programar OPLC UnitronicsINTRAVE IndustrialAutomation
 

Similar a 3.mvc app model-valida-excep (20)

MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADOR
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Curso Analytics 2
Curso Analytics 2Curso Analytics 2
Curso Analytics 2
 
Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controlador
 
Drupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommerceDrupal 7 a través Drupal Commerce
Drupal 7 a través Drupal Commerce
 
Web 2
Web 2Web 2
Web 2
 
4.1. validaciones-y-excepciones
4.1. validaciones-y-excepciones4.1. validaciones-y-excepciones
4.1. validaciones-y-excepciones
 
3.1 mvc-mvvm-app model-binding
3.1 mvc-mvvm-app model-binding3.1 mvc-mvvm-app model-binding
3.1 mvc-mvvm-app model-binding
 
Angular Conceptos Practicos 1
Angular Conceptos Practicos 1Angular Conceptos Practicos 1
Angular Conceptos Practicos 1
 
Prototipado rapido de interfaces
Prototipado rapido de interfacesPrototipado rapido de interfaces
Prototipado rapido de interfaces
 
Análisis de Procesos con Adonis
Análisis de Procesos con AdonisAnálisis de Procesos con Adonis
Análisis de Procesos con Adonis
 
Mvc
MvcMvc
Mvc
 
Drupal commerce
Drupal commerceDrupal commerce
Drupal commerce
 
modelo MVC.pptx
modelo MVC.pptxmodelo MVC.pptx
modelo MVC.pptx
 
4 adoo
4 adoo4 adoo
4 adoo
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
Defensa - Sistema de Gestión de Producción Creativa
Defensa - Sistema de Gestión de Producción CreativaDefensa - Sistema de Gestión de Producción Creativa
Defensa - Sistema de Gestión de Producción Creativa
 
MVC
MVCMVC
MVC
 
Tutorial del software U90Ladder para programar OPLC Unitronics
Tutorial del software U90Ladder para programar OPLC UnitronicsTutorial del software U90Ladder para programar OPLC Unitronics
Tutorial del software U90Ladder para programar OPLC Unitronics
 
Anteproyecto salazar bolivar
Anteproyecto salazar bolivarAnteproyecto salazar bolivar
Anteproyecto salazar bolivar
 

Más de xavazque2

258939538 dumping
258939538 dumping258939538 dumping
258939538 dumpingxavazque2
 
380914324 poo-kotlin
380914324 poo-kotlin380914324 poo-kotlin
380914324 poo-kotlinxavazque2
 
146817358 android
146817358 android146817358 android
146817358 androidxavazque2
 
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlinCurso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlinxavazque2
 
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juegoxavazque2
 
325940441 motion-ui
325940441 motion-ui325940441 motion-ui
325940441 motion-uixavazque2
 
371081023 curso-desarrollo-android
371081023 curso-desarrollo-android371081023 curso-desarrollo-android
371081023 curso-desarrollo-androidxavazque2
 
5.1. stateles stateful-protocolo_http
5.1. stateles stateful-protocolo_http5.1. stateles stateful-protocolo_http
5.1. stateles stateful-protocolo_httpxavazque2
 
435338801 programacion-mobile-android
435338801 programacion-mobile-android435338801 programacion-mobile-android
435338801 programacion-mobile-androidxavazque2
 
457126889 android-pdf
457126889 android-pdf457126889 android-pdf
457126889 android-pdfxavazque2
 
266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventorxavazque2
 
7. react js-1
7. react js-17. react js-1
7. react js-1xavazque2
 
484719815 pidiendo-ayuda-a-los-angeles-pdf
484719815 pidiendo-ayuda-a-los-angeles-pdf484719815 pidiendo-ayuda-a-los-angeles-pdf
484719815 pidiendo-ayuda-a-los-angeles-pdfxavazque2
 
484717855 transmutacion-de-energias-pdf
484717855 transmutacion-de-energias-pdf484717855 transmutacion-de-energias-pdf
484717855 transmutacion-de-energias-pdfxavazque2
 
2.1. arena-y-binding
2.1. arena-y-binding2.1. arena-y-binding
2.1. arena-y-bindingxavazque2
 
411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdfxavazque2
 
4.windows dialogs
4.windows dialogs4.windows dialogs
4.windows dialogsxavazque2
 

Más de xavazque2 (20)

258939538 dumping
258939538 dumping258939538 dumping
258939538 dumping
 
380914324 poo-kotlin
380914324 poo-kotlin380914324 poo-kotlin
380914324 poo-kotlin
 
146817358 android
146817358 android146817358 android
146817358 android
 
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlinCurso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
Curso profesional-de-desarrollo-de-aplicaciones-android-con-kotlin
 
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
364196144 hogan-pensamiento-no-verbal-comunicacion-y-juego
 
325940441 motion-ui
325940441 motion-ui325940441 motion-ui
325940441 motion-ui
 
371081023 curso-desarrollo-android
371081023 curso-desarrollo-android371081023 curso-desarrollo-android
371081023 curso-desarrollo-android
 
5.1. stateles stateful-protocolo_http
5.1. stateles stateful-protocolo_http5.1. stateles stateful-protocolo_http
5.1. stateles stateful-protocolo_http
 
435338801 programacion-mobile-android
435338801 programacion-mobile-android435338801 programacion-mobile-android
435338801 programacion-mobile-android
 
457126889 android-pdf
457126889 android-pdf457126889 android-pdf
457126889 android-pdf
 
266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor266521557 apuntes-unidad-formativa-app-inventor
266521557 apuntes-unidad-formativa-app-inventor
 
7. react js-1
7. react js-17. react js-1
7. react js-1
 
Tp1
Tp1Tp1
Tp1
 
484719815 pidiendo-ayuda-a-los-angeles-pdf
484719815 pidiendo-ayuda-a-los-angeles-pdf484719815 pidiendo-ayuda-a-los-angeles-pdf
484719815 pidiendo-ayuda-a-los-angeles-pdf
 
484717855 transmutacion-de-energias-pdf
484717855 transmutacion-de-energias-pdf484717855 transmutacion-de-energias-pdf
484717855 transmutacion-de-energias-pdf
 
5.layouts
5.layouts5.layouts
5.layouts
 
6.2. js
6.2. js6.2. js
6.2. js
 
2.1. arena-y-binding
2.1. arena-y-binding2.1. arena-y-binding
2.1. arena-y-binding
 
411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf
 
4.windows dialogs
4.windows dialogs4.windows dialogs
4.windows dialogs
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (15)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

3.mvc app model-valida-excep

  • 2. Repaso Binding y Eventos 2 ▸ Eventos ▹ Tanto la vista como el modelo producen eventos. ▹ Inversión relación de conocimiento ▹ Similar patron Observer ▸ Binding ▹ Muchos frameworks proveen mecanismos de binding ▹ Relaciona dos variables manteniendolas vinculadas ▹ Unidireccional y Bidireccional
  • 4. Patrón Model-View-Controller 4 ▸ Vista ▹ Capa de presentación / interfaz de usuario ▹ Ventanas, botones, inputs.
  • 5. Patrón Model-View-Controller 5 ▸ Modelo ▹ Capa que contiene la lógica de la aplicación - TP1 ▹ Contiene la lógica de negocio/reglas de negocio ▹ Modelo de objetos ▹ Ejemplo: objetos que representen: ▹ Un contacto de una agenda ▹ Un movimiento de una caja de ahorro.
  • 6. Patrón Model-View-Controller 6 ▸ Controlador ▹ Intermediario entre la capas Vista y Modelo. ▹ Orquestadores del modelo o decisores de la operación ▹ Gestiona el flujo de información entre el las capas. ▹ Adapta la vista con el modelo.
  • 7. Patrón Model-View-Controller 7 ▸ Modelo - Errores comunes ▹ Aparición de lógica de negocio en otras capas ▹ Modelo con elementos propios de interacción con usuario
  • 10. Patrón Model-View-Controller 10 ▸ Ejemplo Arena - Conversor - Controller
  • 12. Patrón Model-View-Controller 12 ▸ Beneficios ▹ Reutilización de código ▹ Separación de conceptos - Legibilidad ▹ Facilitar el desacople para el desarrollo ▹ Facilitar el mantenimiento ▹ Aparición de perfiles especializados en cada capas ▹ Desacople de tecnologías ▹ Mantenimiento - Testing
  • 13. Validaciones 13 ▸ Validaciones a nivel de Vista (View) ▹ Aquellas que deben ser realizadas sin la necesidad de intervención del modelo ▹ La validación se visualiza en la misma capa. ▸ Validaciones a nivel de Modelo ▹ Aquellas que deben ser realizadas por el modelo dado que implican reglas de negocio. ▹ Deben se informadas a la capa View.
  • 14. Validaciones a nivel Vista 14 ▸ “Los km solo pueden ser valores numéricos” ▸ “El formato de fecha es inválido; debe ingresar el formato dd/mm/aaaa” ▸ Debe ingresar un máximo de 20 dígitos ”
  • 15. Validaciones a nivel Modelo 15 ▸ “Debe ingresar un número de cliente válido” ▸ “Ya existe un capítulo con igual identificador para la serie seleccionada” En Arena las ventanas del tipo SimpleWindows manejan UserException mostrando el mensaje de error
  • 16. Validaciones a nivel Modelo 16 Regla importante: Mensajes descriptivos que permitan al usuario identificar claramente cuál regla de negocio no se está cumpliendo y le permita continuar con el proceso.
  • 17. Manejo de errores 17 Son errores propios de la programación, que hace que no sean modelados, simplemente ocurren y que identificarlas y tratarlas Ejemplos de errores: - NullPointerException - ArrayIndexOutOfBoundsException - ArithmeticException
  • 18. Application Model vs Model Simple 18 Cada vista necesita un modelo pero cuando la complejidad de interacción entre el usuario y el modelo crece aparece el concepto de Application Model Consiste en crear un objeto que tenga la representación del comportamiento global de la aplicación. Generalmente representan un Caso de Uso
  • 19. Application Model vs Model Simple 19 Diferentes Ciclos de vida Los objetos de dominio se crear, se persisten, se modifican, etc. Los objetos de aplicación se usan una sola vez.
  • 20. Application Model vs Model Simple 20 Esquema MMVC V - Vista: la pantalla *Window C - Controller: adapta la vista con el modelo, en este caso con el application model, es el encargado de resolver el binding M - Modelo de la vista/modelo de aplicación/application model: modela al caso de uso, mantiene simple el binding con la vista M - Modelo de dominio
  • 21. Application Model vs Model Simple 21 Ejemplo