Adapter Pattern

Das Adapter Pattern ist ein Design Pattern. Ein Adapter löst das Problem, das entsteht, wenn Instanzen einer Klasse (hier Adaptee) in einem Kontext benutzt werden sollen, in dem ein Interface benötigt wird (hier Target), das diese Instanzen nicht unterstützen. Der Adapter implementiert das benötigte Interface in der Regel durch Delegation.

public interface Target
{
  void doSomething1(int x1, int x2);
}

public class Adaptee
{
  void doSomething2(int x2, int x1) { }
}

public class Adapter implements Target
{
  private final Adaptee adaptee;
  //
  public Adapter(Adaptee adaptee)
  {
    super();
    //
    this.adaptee = adaptee;
  }
  //
  public void doSomething1(int x1, int x2)
  {
    adaptee.doSomething2(x2, x1);
  }
}