DAO 和 Data Mapper 有啥区别
Posted
技术标签:
【中文标题】DAO 和 Data Mapper 有啥区别【英文标题】:What's the difference between DAO and Data MapperDAO 和 Data Mapper 有什么区别 【发布时间】:2010-10-04 06:21:32 【问题描述】:DAO 模式和 Data Mapper 模式有区别吗? DAO 只是做 Data Mapper 的一种吗?
【问题讨论】:
你能不能也标记一下这个“模式”? 【参考方案1】:我实际上不会将 DAO 称为“模式”。在我看来,DAO 几乎就是它的本质——一个“数据访问对象”,它封装了访问持久数据存储的细节,一般来说与数据库无关:
interface IBlogDaoService
Blog GetBlog(long id);
void SaveBlog(Blog blog);
很明显,实现可以使用 DB(在这种情况下使用 Data Mapper 非常合乎逻辑)或简单的 XML 文件存储机制。
另一方面,Data Mapper 更像是一种模式,它定义了一个层,负责将内存中的对象图转换为关系结构。
【讨论】:
以上是关于DAO 和 Data Mapper 有啥区别的主要内容,如果未能解决你的问题,请参考以下文章