2

在我看来,

  • 存储库就像一个集合对象,它根据输入的标准返回或操作域对象列表。
  • 数据映射器充当数据库和域层之间的中间层,以隐藏持久性实现(例如 SQL 语句)。
  • 数据访问对象是整个持久层的通用接口。

我认为既然数据访问对象的实现有一个repository,并且 repository 的实现一个数据映射器,有时还有一个身份映射来使域对象唯一,那么说它们协同工作是否正确?或者它们是完全不同的模式,彼此不兼容?

4

1 回答 1

1

大多数时候存储库属于域层,它是所有域对象(实体)重构器。

数据映射器与DAO一起工作,它们都属于基础设施层,DAO是低级持久化接口,只返回一些DTO(数据传输对象)

存储库应该使用 DAO 来重建具有多个 DTO 的域实体。

如果您的问题是“说他们协作工作是否正确”,则答案部分正确,因为 Data Mapper 是一种 DAO

对不起,我的英语不好。

于 2013-05-14T02:17:28.530 回答