The Bridge pattern is intended to decouple an abstraction from its implementation so both can vary independently. The bridge pattern is especially useful when you are in need of a sophisticated wrapper for varying implementations. Although it is not an overwhelming simple pattern, it is very simple in its use. The client only has to [...]