Files
Design-Patterns/patterns/memento/MementoPattern/Caretaker.cs
2026-08-13 22:47:17 -04:00

25 lines
470 B
C#

namespace MementoPattern;
public class Caretaker
{
//container that could hold memento of Originator
//object
private readonly Stack<IMemento> _mementos = new();
private readonly IOriginator _originator;
public Caretaker(IOriginator originator)
{
_originator = originator;
}
public void Save()
{
_mementos.Push(_originator.GetMemento());
}
public void Undo()
{
_originator.SetMemento(_mementos.Pop());
}
}