DEV Community

eidher
eidher

Posted on • Edited on

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

Top comments (0)