DAO和数据映射器有什么区别?

5

DAO模式和Data Mapper模式有区别吗?DAO只是实现Data Mapper的一种方式吗?


你能也给它打上“patterns”的标签吗? - David Grant
1个回答

8

我不认为DAO是一个“模式”。在我看来,DAO就是一个数据访问对象,它封装了访问持久化数据存储的细节,通常与数据库无关:

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

很明显,实现可以使用数据库(在这种情况下使用数据映射器是相当合理的),也可以使用简单的XML文件存储机制。

另一方面,数据映射器更像是一种模式,它定义了一个负责将内存中对象图转换为关系结构的层。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接