Purpose:
Enkapsuluje zapytanie(request) tak by mogło być traktowane jak obiekt.
Use:
- prosta implementacja callback'a,
- gdy polecenia będzie wywoływane wiele razy, lub polecenie będzie się składało z sekwencji innych poleceń,
- zapewnia prosty dostęp do historii operacji,
- potrzebujemy oddzielenia operacji od obiektu zajmującego się wywołaniem.
Example:
Kolejki zadań są stosowane jako udogodnienie w przetwarzaniu asynchronicznym. Poprzez opakowanie operacji w interfejs Command mogą wszelkiego rodzaju operacje być przekazywane do kolejki, kolejka będzie wstanie wywołać każde polecenia bez potrzeby posiadania wiedzy o implementacji.
Resource:
- EN: en.wikipedia.org/wiki/Command_pattern
- EN: www.cs.mcgill.ca/~hv/classes/CS400/01.hchen/doc/command/command.html
- EN: java.dzone.com/articles/design-patterns-command
- EN: dotnetslackers.com/articles/designpatterns/The-Command-Pattern.aspx
- EN: msdn.microsoft.com/en-us/magazine/cc163920.aspx
- EN: c2.com/cgi/wiki?CommandPattern