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

最佳答案

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

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

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

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

10-08 08:08
查看更多