blockhead
blockhead

Reputation: 9705

What's the difference between DAO and Data Mapper

Is there a difference between the DAO pattern and the Data Mapper pattern? Is DAO just one of doing Data Mapper?

Upvotes: 5

Views: 5078

Answers (1)

Anton Gogolev
Anton Gogolev

Reputation: 115751

I wouldn't actually call DAO a "pattern". As I see it, DAO is pretty much what it is -- a Data Access Object", which encapsulates the details of accessing a persistent data store and generally speaking has nothing to do with the database:

interface IBlogDaoService
{
    Blog GetBlog(long id);
    void SaveBlog(Blog blog);
}

It's clear that implementations can use either DB (in which case it's quite logical to use a Data Mapper), or simple XML file storage mechanism.

The Data Mapper on the other hand is more of a pattern, which defines a layer responsible for translating in-memory graphs of objects to the relational structure.

Upvotes: 8

Related Questions