Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



domingo, 3 de noviembre de 2013

Patrón Command: Implementar Deshacer y Rehacer Órdenes

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.


Vista de la aplicación ejecutándose:


Enlace de descarga de la aplicación: descarga en box.com



Fuente: