LLD - Behavioral Design Patterns — Part 2
In the following code snippet, what is the main issue that breaks the Memento pattern?
class Originator:
def __init__(self):
self._state = ""
def set_state(self, state):
self._state = state
def save(self):
return self._state # returns state directly
def restore(self, memento):
self._state = memento
originator = Originator()
originator.set_state("State1")
memento = originator.save()
originator.set_state("State2")
originator.restore(memento)
print(originator._state)