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

and undoing commands. When a command is executed, it’s pushed onto the

stack. The Undo() method pops the last executed command and undoes its

action.

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

Follow:

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