DAO和Data Mapper之间有什么区别

时间:2009-01-29 15:06:01

标签: design-patterns data-access-layer dao data-mapping

DAO模式和Data Mapper模式之间有区别吗? DAO只是做Data Mapper的吗?

1 个答案:

答案 0 :(得分:7)

我实际上不会将DAO称为“模式”。正如我所看到的,DAO几乎就是它 - 一个数据访问对象“,它封装了访问持久数据存储的细节,一般来说与数据库无关:

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

很明显,实现可以使用DB(在这种情况下,使用Data Mapper是合乎逻辑的),或简单的XML文件存储机制。

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