Bridge es un patrón de diseño estructural que divide la lógica de negocio o una clase muy grande en jerarquías de clases separadas que se pueden desarrollar independientemente.
Una de estas jerarquías (a menudo denominada Abstracción) obtendrá una referencia a un objeto de la segunda jerarquía (Implementación). La abstracción podrá delegar algunas (en ocasiones, la mayoría) de sus llamadas al objeto de las implementaciones. Como todas las implementaciones tendrán una interfaz común, serán intercambiables dentro de la abstracción.
Digamos que tienes dos tipos de computadora: Mac y Windows. También, dos tipos de impresora: Epson y HP. Todas las computadoras e impresoras deben funcionar unas con otras en cualquier combinación. El cliente no quiere preocuparse de los detalles de conectar impresoras a computadoras.
Si introducimos nuevas impresoras, no queremos que nuestro código crezca exponencialmente. En lugar de crear cuatro estructuras para la combinación 2*2, creamos dos jerarquías:
Jerarquía de abstracción: éstas serán nuestras computadoras.
Jerarquía de implementación: éstas serán nuestras impresoras.
Estas dos jerarquías se comunican entre sí a través de un Bridge, donde la Abstracción (computadora) contiene una referencia a la Implementación (impresora). Tanto la abstracción como la implementación pueden desarrollarse independientemente sin afectar la una a la otra.