Command-Muster
Kurz: Das Command-Muster verpackt eine Aktion als Objekt. So kann man sie speichern, verzögern, wiederholen oder rückgängig machen.
Genauer: Ein Befehl-Objekt enthält alles, was zur Ausführung nötig ist (Aktion, Empfänger, Parameter) und eine Methode execute(), oft auch undo(). Ein Aufrufer (Invoker) führt Befehle aus, ohne ihre Details zu kennen.
Im Detail
- Rückgängig/Wiederholen: Ein Stapel ausgeführter Befehle ermöglicht Undo und Redo, wie in Editoren.
- Warteschlangen: Befehle lassen sich in eine Queue legen und später abarbeiten (Message Queue (Nachrichtenwarteschlange)).
- Makros: Mehrere Befehle zu einem zusammenfassen.
- Beispiele: Menü- und Tastenbefehle, Transaktionen, Aufgabenplaner, Event Sourcing.
- Verwandt: Strategy-Muster wählt ein Verfahren, Command kapselt eine Anfrage.
Siehe auch: Strategy-Muster, Observer-Muster