Adapter Design Pattern
By: Klementinus Kennyvito Salim
What is Adapter?
• Adapter design pattern is basically similar to a hardware adapter , except
now it is for a program class.
• It converts the interface of a class into another interface that the client class
can accept and work together with
Adapter Diagram
[Link]
Sample Code
interface Cat
{ interface Cat_Toy
{
public void walk(); // target interface
public void meow(); // Just a toy not walking
} public void makeSound();
}
class Persian implements Cat
{ class Calling_Cat implements Cat_toy
{
public void walk() public void makeSound()
{ {
[Link]("Walking"); [Link]("Squeak");
} }
public void meow() }
{
[Link]("Meow
Meow");
}
}
Sample Code
class Adapter implements Cat_Toy class Main
{ {
// You need to implement the public static void main(String args[])
interface your {
// client expects to use. Persian persian = new Persian();
Cat cat; Cat_Toy toy = new Cat_Toy();
public Adapter(Cat cat) // Calling the adapter class to make the interface
{ compatible
// reference to object we adapted
[Link] = cat; Cat_Toy Adapter = new Adapter(persian);
}
public void makeSound() [Link]("Cat_toy...");
{ [Link]();
// translate the methods
appropriately [Link]("Adapter...");
[Link](); [Link]();
} }
} }
The Advantages and Disadvantages of using
Adapter Design Pattern
Advantages Disadvantages
• Achieve flexibility and reusability of classes • Sometimes many adaptations are required
and functions among many adapters so that a certain type is
reached
Thank You