Structural Design Patterns: Adapter
The Adapter pattern converts the interface of an existing class into another interface clients expect. An adapter allows classes to work together that couldn't otherwise due to incompatible interfaces. There are two types of adapters - class adapters inherit from an existing class, while object adapters compose existing classes. The adapter pattern is useful when you need to use an existing class but its interface does not match what is needed.