Description The bridge pattern decouples an abstraction from its implementation so that the two can vary independently. It imposes flexibility by providing contracts instead of concrete classes. Imagine you have a function that renders a video. Depending on the video file type you will provide multiple plugins options. These plugins all derive from a baseRead more