Mid From PDF GoF Patterns Gang of Four Patterns

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();

}
}
}

More from Design Patterns in C#

All questions for this course
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details