El mejor patrón de diseño para la función “deshacer”

Posible duplicado:
Patrón de diseño para deshacer el motor

En general, ¿cómo lidias con el soporte de una función de “deshacer” en tu aplicación? He trabajado tanto en aplicaciones web como en aplicaciones de escritorio, y nunca me he sentido realmente cómodo con ningún sistema de “deshacer” que haya creado.

Creo que debería ser el patrón de diseño del comando .

Aquí hay un artículo sobre el patrón de deshacer / rehacer multinivel con comando.

EDITAR: Aquí está el segundo sobre el patrón de Deshacer / Rehacer multinivel con Memento.

Entonces probablemente se puede hacer con ambos.

Mira el Patrón de Memento

Yo votaría a favor del patrón Comando sobre Memento. El patrón Memento sería mucho más costoso que los patrones de Comando para la funcionalidad Deshacer / Rehacer.

Capturar y restaurar el estado del objeto será bastante costoso en comparación con simplemente hacer o deshacer una acción en cualquier objeto compatible.

    Intereting Posts