Patrón Command:
Ejemplo:
Implementar Deshacer y Rehace Órdenes
¿para que sirve esta patrón?
1) Encapsular peticiones en forma de objetos.
2) Permite parametrizar a los clientes con distintas peticiones, hacer colas de peticiones, llevar un
registro de la peticiones realizadas, y deshacer el efecto de las peticiones
Esquema: Estructura del patrón
Diagrama de Secuencia:
Representación gráfica de como interactúan estos objetos entre sí |
Ejemplo de esquema para procesador de texto:
Ejemplo:
Tenemos un tablero de juego, donde tieness las ordenes Insertar vallas y Mover animales. Hay que implementar un deshacer y rehacer.
Estructura del proyecto:
La clase Comando:
->
La clases que heredan de comando:
La clase Insertar
->
La clase Mover
->
Las clases insertar y mover, lo que van ha hacer internamente es llamar a los métodos de la clase tablero para que se realicen las operaciones.
La clase Tablero
->
El programa principal.
->
Los comandos se añaden a sus respectivos arrays (colaDeshacer y colaRehacer), donde se almacenan como una cola: los comandos se van añadiendo y para sacar se saca siempre el ultimo añadido.
Nota:
Como veis he añadido dos listbox, para mostrar lo que se esta haciendo en el tablero, tanto comandos realizados como deshechos.
Nota:
Como veis he añadido dos listbox, para mostrar lo que se esta haciendo en el tablero, tanto comandos realizados como deshechos.
Fuente: