Logo

dev-resources.site

for different kinds of informations.

Adapter Pattern

Published at
9/27/2020
Categories
structural
pattern
designpatterns
java
Author
eidher
Author
6 person written this
eidher
open
Adapter Pattern

Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.
Alt Text

Participants

  • Target: defines the domain-specific interface that Client uses.
  • Adapter: adapts the interface Adaptee to the Target interface.
  • Adaptee: defines an existing interface that needs adapting.
  • Client: collaborates with objects conforming to the Target interface.

Code

public class Main {

    public static void main(String[] args) {
        Target target = new Adapter();
        target.request();
    }
}

public interface Target {
    void request();
}

public class Adapter implements Target {
    Adaptee adaptee = new Adaptee();

    @Override
    public void request() {
        adaptee.specificRequest();
    }
}

public class Adaptee {
    void specificRequest() {
        System.out.println("Called specificRequest()");
    }
}

Enter fullscreen mode Exit fullscreen mode

Output

Called specificRequest()
Enter fullscreen mode Exit fullscreen mode

Featured ones: