代码之家  ›  专栏  ›  技术社区  ›  blockhead

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

  •  5
  • blockhead  · 技术社区  · 17 年前

    DAO模式和数据映射器模式之间有区别吗?DAO只是做数据映射器的一种吗?

    1 回复  |  直到 17 年前
        1
  •  7
  •   Anton Gogolev    17 年前

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

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

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

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

    推荐文章