Add code examples, and documentation
This commit is contained in:
24
patterns/memento/MementoPattern/Caretaker.cs
Normal file
24
patterns/memento/MementoPattern/Caretaker.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user