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í?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top