Wzorzec Polecenie
Wzorzec projektowy, który opakowuje akcję w obiekt, dzięki czemu można ją kolejkować, cofać albo odtwarzać po fakcie.
Skatalogowany przez Bandę Czworga w Design Patterns (1994) znalazł chyba najlepszy dom w grach: otwiera się nim książka Roberta Nystroma Game Programming Patterns (2014). Zamiast pozwalać, by naciśnięcie klawisza wywoływało bezpośrednio jump(), tworzysz JumpCommand — obiekt. Ten sam kod może wtedy zmieniać przypisanie klawiszy, podawać SI identyczne polecenia i zapisywać je do odtworzenia.
Zysk jest największy przy cofaniu i ponawianiu: polecenie, które umie się wykonać, może nauczyć się też odwracać. Warstwa wejścia nie wie, co polecenie robi, wie tylko, że ma je uruchomić — to rozdzielenie obsługuje także grę sieciową, w której klient wysyła polecenia, a nie gotowy stan.