Bridge Pattern decouple an abstraction from its implementation so that the two can vary independently. by GOF