La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Simulación del patrón … (2)

Presentaciones similares


Presentación del tema: "Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Simulación del patrón … (2)"— Transcripción de la presentación:

1 Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Simulación del patrón … (2)

2 Editor gráfico: 2ª Iteración Nueva forma de creación de figuras Pulsar / Soltar / Arrastrar Una nueva herramienta: Seleccionar Sólo una figura seleccionada Podemos mover las figuras que están seleccionadas

3 Simulación del patrón … (2) Clases iniciales

4 Simulación del patrón … (2) Escenario 1: Creación de una figura ¿Cómo vamos a crear una figura? Se ha pulsado sobre uno de los botones de creación de figuras Dibujo es el receptor de los eventos siguientes: Paso 1: MousePressed Crear la nueva figura (Prototype) Insertarla en el dibujo Paso 2: MouseDragged Cambiar el área de presentación de la última figura creada Hay que tener en cuenta dónde fue creada Paso 3: MouseReleased Si la figura es vacía, entonces la eliminamos del dibujo

5 Simulación del patrón … (2) Escenario 2: Selección / Deselección de una figura Se ha pulsado sobre el botón de selección de figuras Paso 1: MousePressed Buscar sobre qué figura hemos pulsado Si se ha pulsado sobre una figura Seleccionarla Si se ha pulsado sobre el fondo Deseleccionar Paso 2: MouseDragged No hace nada Paso 3: MouseReleased No hace nada

6 Simulación del patrón … (2) Escenario 3: Mover la figura seleccionada Se ha pulsado sobre el botón de selección de figuras Hay una figura seleccionada Paso 1: MousePressed Buscar sobre la figura sobre la que se ha pulsado Si se ha pulsado sobre la figura seleccionada Comenzar a moverla Paso 2: MouseDragged Cambiar la posición de la figura Paso 3: MouseReleased Se acaba el movimiento de la figura

7 Simulación del patrón … (2) Conclusiones de este diseño Megaclase Dibujo Contiene una maraña de atributos que se usan o no dependiendo de qué botón se haya soltado Código poco ampliable Muchas variables que definen el estado de la aplicación Situaciones de estado incongruente Código spaguetti if...then...else if... Necesitamos resolver el comportamiento de la aplicación de otra forma…

8 Simulación del patrón … (2) Solución: Patrón State Propósito: el comportamiento de un objeto depende del estado en el que se encuentre Roles: State: Encapsula las operaciones del Context que son dependientes del estado en el que éste se encuentra ConcreteState: Implementa la interfaz definida por State Context Declara la interfaz de la clase que ven los clientes Mantiene una instancia del estado actual

9 Simulación del patrón … (2) Nuevas clases

10 Simulación del patrón … (2) Escenario 1 (after): Creación de una figura ¿Cómo vamos a crear una figura? Se ha pulsado sobre uno de los botones de creación de figuras Dibujo es el receptor de los eventos siguientes: Paso 1: MousePressed Crear la nueva figura (Prototype) Insertarla en el dibujo Paso 2: MouseDragged Cambiar el área de presentación de la última figura creada Hay que tener en cuenta dónde fue creada Paso 3: MouseReleased Si la figura es vacía, entonces la eliminamos del dibujo

11 Simulación del patrón … (2) Escenario 2 (after): Selección / Deselección de una figura Se ha pulsado sobre el botón de selección de figuras Paso 1: MousePressed Buscar sobre qué figura hemos pulsado Si se ha pulsado sobre una figura Seleccionarla Si se ha pulsado sobre el fondo Deseleccionar Paso 2: MouseDragged No hace nada Paso 3: MouseReleased No hace nada

12 Simulación del patrón … (2) Escenario 3 (after): Mover la figura seleccionada Se ha pulsado sobre el botón de selección de figuras Hay una figura seleccionada Paso 1: MousePressed Buscar sobre la figura sobre la que se ha pulsado Si se ha pulsado sobre la figura seleccionada Comenzar a moverla Paso 2: MouseDragged Cambiar la posición de la figura Paso 3: MouseReleased Se acaba el movimiento de la figura

13 Simulación del patrón … (2) Ampliaciones Añadir la herramienta de creación de polígonos Pulsar tantas veces como vértices queramos Cuando se hace doble click, se cierra la figura Refactorizar la herramienta de selección De nuevo, hay código spaguetti

14 Simulación del patrón … (2) Conclusions


Descargar ppt "Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Simulación del patrón … (2)"

Presentaciones similares


Anuncios Google