Design Patterns Adapter Design Pattern Convert An Interface of A Class into Another Interface that clients expect Enables us to make incompatible classes work with one another i.e. delegate logic to the Adapter