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