Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class
- You have an old component implementing the required functionality for a new system, but its interface isn’t compatible with the new design.
- You have a system using a component to do something and you need to replace that component with a new one that offers new functionality. The interface in the new component isn’t compatible with the old system.
Creates a class implementing the desired interface that maps and delegates the request to and from the legacy component
- Reuse existent code even when it isn't compatible directly with the system which requires it.
- Adapter is also calledWrapper
- While Adapter achieves the interaction between two existent and originally incompatible components,Bridge proposes a way to design future components to be compatible with the existent code decoupling interface and implementation