Strategy Pattern

Das Strategy Pattern ist ein Design Pattern. Es wird benutzt, um eine Familie von Algorithmen zu repräsentieren. Die Algorithmen haben dabei ein gleichartiges Interface. Der Aufrufer kann so z.B. zur Laufzeit zwischen den verschiedenen Algorithmen wählen.

public interface Strategy
{
  public Response process(Request request);
}

public class ConcreteStrategy1 implements Strategy
{
  ...
}

public class ConcreteStrategy2 implements Strategy
{
  ...
}

Wenn sich auch die Implementierungen der Algorithmen aus der Familie stark ähneln, kann das Template Method Pattern verwendet werden.