Bridge
In plain terms
A pattern decoupling an abstraction from its implementation.
Going deeper
The Bridge separates an abstraction from how it's implemented so both can vary independently, avoiding a combinatorial explosion of subclasses. It splits two dimensions.
Under the hood
Favors composition over inheritance; lets abstraction and implementation evolve separately.
Examples
Cross-platform rendering, device drivers, decoupled UI/backend, shape+renderer.
Think of it like...
Like a remote (abstraction) that can control any brand of TV (implementation) via a standard interface.