Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porVanesa Morales Vázquez Modificado hace 10 años
1
Departamento de Ingeniería del Software e Inteligencia Artificial Universidad Complutense de Madrid Simulación del patrón … (1)
2
Editor gráfico: 1ª Iteración Construcción de un editor gráfico muy sencillo Primera iteración Dos figuras simples Rectángulo Elipse Una herramienta de creación para cada una de ellas Al pulsar sobre el área de dibujado aparece una figura de un tamaño concreto
3
Simulación del patrón … (1) Clases iniciales
4
Simulación del patrón … (1) Escenario 1: Pulsación de un botón Vuestro primer role-play ¿Qué pasa al pulsar uno de los botones de la interfaz? VentanaEditor es quien recibe el evento ActionPerformed Pregunta a BotonHerramienta por el tipo de herramienta que se ha activado Informa al area de dibujado de la acción seleccionada
5
Simulación del patrón … (1) Escenario 2: Pulsación sobre el área de dibujado (1) ¿Qué pasa al pulsar sobre el área de dibujado? Dibujo es quien recibe el evento MousePressed En areaDibujo, herramientaActiva=ELIPSE Crea FElipse e inserta
6
Simulación del patrón … (1) Escenario 2: Pulsación sobre el área de dibujado (2) ¿Qué pasa al pulsar sobre el área de dibujado? Dibujo es quien recibe el evento MousePressed En areaDibujo, herramientaActiva=RECT Crea FRect e inserta
7
Simulación del patrón … (1) Conclusiones de este diseño Código “poco ampliable” Crear nuevas figuras supone crear nuevas constantes y añadir IFs Código spaguetti if...then...else if... Necesitamos crear las figuras de otra forma…
8
Simulación del patrón … (1) Solución: Patrón Prototype Propósito: permite representar un cierto tipo de objetos mediante una instancia prototípica, que se copia cada vez que se ha de crear un objeto nuevo Roles: Client: Crea los objetos pidiendo al prototipo que se clone Protoype: Declara la interfaz de copia Concrete prototype: Implementa una operación para copiarse a sí mismo
9
Simulación del patrón … (1) Nuevas clases
10
Simulación del patrón … (1) Escenario 1 (after) : Pulsación de un botón ¿Qué pasa al pulsar uno de los botones de la interfaz? VentanaEditor es quien recibe el evento ActionPerformed Pregunta a BotonHerramienta por la herramienta que se ha activado Informa al area de dibujado de la herramienta seleccionada
11
Simulación del patrón … (1) Escenario 2: Pulsación sobre el área de dibujado (1 y 2) ¿Qué pasa al pulsar sobre el área de dibujado? Dibujo es quien recibe el evento MousePressed En areaDibujo, se pide a la herramienta activa que cree la figura
12
Simulación del patrón … (1) Ampliaciones Desacopla a la herramienta de los tipos concretos de las figuras Podemos crear nuevas figuras sin modificar la clase HerramientaCreacion No necesitamos crear las jerarquías de factorías y objetos de otros patrones de creación En Java, nos podemos aprovechar de la interfaz Cloneable Método clone() para hacer una copia del objeto atributo a atributo Cuidado con clases con atributos complejos
13
Simulación del patrón … (1) Conclusions
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.