This pattern was previously described in GoF95.
The Bridge pattern promotes the separation of an abstraction’s interface from its implementation. In general, the term abstraction refers to the process of identifying the set of attributes and behavior of an object that is specific to a particular usage. This specific view of an object can be designed as a separate object omitting irrelevant attributes and behavior. The resulting object itself can be referred to as an abstraction. Note that a given object can have more than one associated abstraction, each with a distinct usage.
A given abstraction may have one or more implementations for its methods (behavior). In terms of implementation, an abstraction can be designed ...