BridgePattern
My understanding of a bridge is this:
You're writing some code to do something. But, say half the code is  dependent on what particular computer or platform you're working on, and  half the code is independent of those details.
So, you "bridge" it. Whenever the code does something system dependent,  you call the other side of the bridge. It does the system dependent  stuff. And then it gets back, you trust that it did what it was supposed  to do. So, you separate the abstract operations from the  system-dependent operations, and you have a bridge between them.