DAO模式和Data Mapper模式之间有区别吗?DAO只是做Data Mapper的吗?
我实际上不会将DAO称为"模式".在我看来,DAO几乎就是它 - 一个数据访问对象",它封装了访问持久数据存储的细节,一般来说与数据库无关:
interface IBlogDaoService { Blog GetBlog(long id); void SaveBlog(Blog blog); }
很明显,实现可以使用DB(在这种情况下,使用数据映射器是非常合理的),或简单的XML文件存储机制.
另一方面,Data Mapper更像是一种模式,它定义了一个层,负责将对象的内存中图形转换为关系结构.