Simulacin del patrn 2 - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Simulacin del patrn 2

Description:

Escenario 1: Creaci n de una figura C mo vamos a crear una figura? ... Si la figura es vac a, entonces la eliminamos del dibujo. Simulaci n del patr n ... ( 2) ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 15
Provided by: gaiaF
Category:
Tags: del | entonces | fue | hace | patrn | simulacin | tener | veces

less

Transcript and Presenter's Notes

Title: Simulacin del patrn 2


1
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 figurasque están seleccionadas

3
Clases iniciales
4
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
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
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
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
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
Nuevas clases
10
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
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
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
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
Conclusions
Write a Comment
User Comments (0)
About PowerShow.com