This is a UML class diagram example for the Bridge design pattern.
Defines an abstract object structure independently of the implementation object structure in order to limit coupling.
- Abstractions and implementations should not be bound at compile time.
- Abstractions and implementations should be independently extensible.
- Changes in the implementation of an abstraction should have no impact on clients.
- Implementation details should be hidden from the client.