The Adapter design pattern provides a new interface to a class, object, or function that allows it to collaborate with other objects in a given domain.