3.4 Bridge

The bridge pattern can be one of the most difficult to understand. The basic idea is to reduce the complexity that can arise when creating structures of inheritance to add functionality to existing classes. The bridge pattern suggests that instead of creating new types every time we need more functionality, we can instead code that functionality into its own classes and combine it with existing objects at runtime.