Intent
A layer of mappers that moves data between objects and a database while keeping them independent of each other and the mapper itself
Applicability
Use the Data Mapper in any of the following situations
- when you want to decouple data objects from DB access layer
- when you want to write multiple data retrieval/persistence implementations