Definition
A construct that adapts an existing interface X to conform to the required interface Y
Implementation
- Determine available APIs and required APIs
- Create component that aggregates the adapters
- Intermediates representations can pile up: use caching and other optimization