Common problems solved by the Bridge design pattern

Following are the common problems addressed by the Bridge design pattern:

  • Removes a permanent binding between the functional abstraction and its implementation
  • You can make changes to the implementing classes without affecting the abstraction and client code
  • You can extend the abstraction and its implementation using subclasses