VGA cards and monitors are a perfect example of the bridge
pattern. The refined abstractions are, of course, the VGA cards which produce
a signal. The Concrete implementers would naturally be the monitors that
display the graphics and text on screen. You can swap monitors, use LCD or
CRT, 15” or 17.” Similarly, you can swap out video cards and upgrade your (5
year old?) PCI card for an AGP card. They all work together quite well because
the abstraction and implementation layers have been split out and standardized
so that they talk to each other using a standard language. VGA cards produce a
standard signal. Monitors consume that standard signal and create a visual (or
concrete) implementation of the impression on their screen.
You will also realize that the CLR’s production of IL code
from your .NET program is the first half of the Bridge pattern (the abstraction
side). When the .NET framework is implemented on several Operating systems so
you can run your programs on any machine, then the .NET framework would
represent a complete use of the Bridge pattern. The JITTER in this case is the
abstraction side while the virtual machine which runs the code is the
implementation side.