Adapter / Wrapper

Purpose

To translate one interface for a class into a compatible interface. An adapter allows classes to work together that normally could not because of incompatible interfaces by providing it's interface to clients while using the original interface.

Examples

  • DB Client libraries adapter
  • using multiple different webservices and adapters normalize data so that the outcome is the same for all

UML Diagram

Adapter UML Diagram ![Alt Adapter UML Diagram](https://rawgithub.com/jtwebb/DesignPatternsPHP/blob/master/Structural/Adapter/uml.svg)