DesignPatterns. Command

Когда использовать?

  • Когда необходимо ответить действием на действие, callback
  • Когда нужно вести очередь действий с возможностью Undo / Redo
  • Когда нужно последовательное логгирование

Про этот паттерн говорят следующее.

Client – посетитель кафе, Invoker – официантка, Command – листочек с заказом блюда, Receiver – повар

Реализуем данный пример

Использование Undo и Redo для данного примера. Заменим FCommand на FCommands: TList<TCommand>, немного перепишем, и получим следующее

 

This entry was posted in Delphi. Bookmark the permalink.