Command Pattern

Beim Command Pattern (siehe Design Pattern) werden Aktivitäten als eigenständige Objekte repräsentiert. Das ermöglicht es, Commands zu unterschiedlichen Zeitpunkten zu erzeugen, eventuell in einer Datenstruktur (Queue o.ä.) zu speichern und letztendlich auszuführen. Wenn das Command stateless ist (d.h. sein Zustand ändert sich während der Ausführung nicht), kann es auch mehrfach ausgeführt werden.

public interface Command extends Runnable
{
}

public final class ConcreteCommand1 implements Command
{
  private final Parameter1 p1;
  ...
  //
  public ConcreteCommand1(Parameter1 p1, ...)
  {
    super();
    //
    this.p1 = p1;
    ...
  }
  //
  public void run()
  {
    ... Aktivität, die p1, ... verwendet
  }
}