Implementar el patrón de comandos
-
19-09-2019 - |
Pregunta
Estoy en el proceso de diseño de una aplicación, y me gustaría usar el patrón de comando para los propósitos de deshacer / rehacer. Hice algunas investigaciones en el patrón de comandos, pero la única cosa que no entiendo es: Si un comando de tener el deshacer y rehacer métodos, o debería hacer dos comandos separados, uno para deshacer y uno para rehacer, y llamar a los de la comando principal en sí?
Solución
El propio objeto de comando debe implementar la funcionalidad de deshacer / rehacer.
Los comandos son generalmente empuja y se extraen a partir de una pila mantenido por un gestor de comandos para implementar deshacer multinivel. Cuando se ejecutan comandos que son empujados en la pila y cuando se deshacen que se extraen de la pila.
El patrón memento sería utilizado en conjunción con el patrón de comando, no es un reemplazo para el uso del patrón de comandos. Sería utilizado para mantener el estado requerido para la operación de deshacer.
Otros consejos
También puede ser que desee considerar el patrón de recuerdo para ello, se utiliza y funciona genial para deshacer.