Design Patterns - Bridge
Used when you want to decouple an abstraction from it’s implementation so both can vary independently.
For example, a Window class can work in Linux using XWindows or Windows using PMWindow. New classes that inherit from window have to implement another two classes for either Linux ir Windows. You can separate this so the concrete window class uses an Implementation class, and operate using the Implementation class method.
Notes References
20210408132546 Computer Science - Design patterns