Memento
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
Según el libro "Patrones de Diseño" el patrón Memento "representa y externaliza el estado interno de un objeto sin violar la encapsulación, de forma que este puede volver a dicho estado más tarde".
Token
Memento:
guarda el estado interno de la variable Creador. El memento puede guardar tanta información del estado interno del creador como sea necesario a discreción del creador.
protege frente a accesos de otras variables que no sean el creador. Los mementos tienen realmente dos interfaces. El Conserje va una interfaz reducida del memento - solo puede pasar el memento a otras variables -. El Creador, por el contrario, ve una interfaz amplia, que le permite acceder a todos los datos necesarios para volver a su estado anterior. Idealmente, solo el creador que produjo el memento estaría autorizado a acceder al estado interno de este.
Creador:
crea un memento que contiene una instantánea de su estado interno actual.
usa el memento para volver a su estado anterior.
Conserje:
es responsable de guardar en lugar seguro el memento.
nunca examina los contenidos del memento, ni opera sobre ellos.
No se observan impedimentos y/o modificaciones de la estructura original del patrón para su implementación en Go.
En este ejemplo queremos que un editor de texto tenga la posibilidad de volver atrás su estado luego de una actualización de contenido.
Implementación:
Se puede probar la implementación del patrón de la siguiente forma:
|
Atención: Esta publicación se encuentra abandonada. Puede acceder a la versión vigente en