What is an adapter and how do I use it?
The adapter, as its name implies, describes a solution to the problem of making two disparate interfaces compatible by acting as a translation mechanism between them.
How do I recognize where I need an adapter?