Invoker (TextEditor): ○ The TextEditor class is the invoker that invokes commands. It holds a stack of commands (_commandHistory) and is responsible for executing
nd undoing commands. When a command is executed, it’s pushed onto the
stack. The Undo() method pops the last executed command and undoes its
ction.
public class TextEditor
{
private readonly Stack<ICommand> _commandHistory = new
Stack<ICommand>();
public void ExecuteCommand(ICommand command)
{
command.Execute();
_commandHistory.Push(command);
}
public void Undo()
{
if (_commandHistory.Count > 0)
{
var command = _commandHistory.Pop();
command.Undo();
}
}
}