System Overview - Adapter pattern
The Adapter pattern helps two incompatible interfaces work together. It acts like a translator between a client and a service that have different interfaces. This pattern is useful when you want to reuse existing code but the interfaces don’t match.