Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porRafael Piñeiro Alarcón Modificado hace 10 años
1
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Simulación del patrón … (3)
2
Editor gráfico: 3ª Iteración Información sobre las dimensiones actuales de una figura Línea de edición Sólo se presenta la información de la última figura creada o seleccionada Actualización de la información Cuando seleccionamos una figura Cuando estamos creando una figura
3
Simulación del patrón … (3) Clases iniciales
4
Simulación del patrón … (3) Escenario 1: Creación de una figura ¿Cómo actualizaremos el área de texto? MouseDragged Cada vez que lo ejecutamos, actualizaremos la información del cuadro de texto
5
Simulación del patrón … (3) Escenario 2: Selección de una figura ¿Cómo actualizaremos el área de texto? MousePressed Si se ha pulsado sobre una figura Seleccionarla Actualizar el área de texto
6
Simulación del patrón … (3) Cambio de planes… Preferimos guardar todos los cambios que se vayan produciendo Área de texto Una línea de información por cada cambio que se produzca Actualización de la información Cuando seleccionamos una figura Cuando estamos creando una figura
7
Simulación del patrón … (3) REPETIMOS: Escenario 1 y 2 ¿Cómo actualizaremos el área de texto? Creación de una figura MouseDragged Cada vez que lo ejecutamos, actualizaremos la información del cuadro de texto MousePressed Si se ha pulsado sobre una figura Seleccionarla Actualizar el área de texto
8
Simulación del patrón … (3) Conclusiones de este diseño ¿Y si volvemos a cambiar el elemento con el que presentamos? ¿Y si quiero presentar la misma información en más de un sitio? Alto acoplamiento entre la figura y el medio de presentación Cambios en el medio de presentación supone revisar el código de la figura en busca de los puntos en los que ha cambiado Necesitamos resolver el comportamiento de la aplicación de otra forma…
9
Simulación del patrón … (3) Solución: Patrón Observer Propósito: permite definir dependencias uno a muchos de forma que los cambios en un objeto se comuniquen a los objetos que dependen de él Roles: Subject: Conoce su lista de Observers y se encarga de notificarles sus cambios de estado Observer: Define la interfaz de actualización debido a las notificaciones del Subject ConcreteObserver Implementa la interfaz anterior Conoce al Subject y le pregunta por su estado para actualizar el suyo en consonacia
10
Simulación del patrón … (3) Solución: Patrón Observer
11
Simulación del patrón … (3) Nuevas clases
12
Simulación del patrón … (3) Escenarios 1 y 2 (after) ¿Cómo actualizaremos el área de texto? Creación de una figura MouseDragged Cada vez que lo ejecutamos, actualizaremos la información del cuadro de texto MousePressed Si se ha pulsado sobre una figura Seleccionarla Actualizar el área de texto
13
Simulación del patrón … (3) Conclusiones Desacoplamiento entre la Figura y sus observadores Observadores han de conocer la interfaz de Figura Figura sólo realiza la actualización sin conocer el tipo de observador ¿Cuándo podemos añadir los observers a la figura? Cuidado!! Demasiadas actualizaciones por pequeños cambios de estados Observers que reciban información más concreta que la figura en sí misma
14
Simulación del patrón … (3) Conclusions
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.