Bridge

Decouple an abstraction from its implementation so that the two can vary independently. (Closely related to the object form of the Adaper pattern.)

Applicability

Consequences