domain-driven-design - DDD - 存储库上的实体 DTO 表示

标签 domain-driven-design dto ddd-repositories

有一些属性对于域来说没有意义,但对于存储库来说却是必不可少的,一个例子就是分区键。

我的存储库中可以有一个 DTO 来扩展实体的基本实现并添加相关字段吗?

最佳答案

那完全没问题。只要此 DTO 保留在存储库中即可。 在福勒的 PoEAA 中:

the Repository pattern is described as: Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects.

只要存储库正确完成其工作(存储和获取域模型),实现就无关紧要。 只需确保存储库的任何实现细节都不会在项目的其余部分中传播。如果您将 DTO 添加到存储库内的实体,请确保返回的实体不带 DTO 或其他不相关的额外字段。

关于domain-driven-design - DDD - 存储库上的实体 DTO 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45237411/

相关文章:

c# - 在 C# 中使用 NHibernate 为值对象配置复杂类型

events - 使用 CQRS 和 EventStore 时如何更新/迁移数据?

nhibernate - 有关资源库及其域对象的Save方法的问题

java - 在 DDD 中包装对集合的访问?

java - 源和目标共享相同的接口(interface) MapStruct

java - 使用 java 8 Streams 从 DTO 中的数组列表中删除元素

java - 从实体到 DTO 的转变

domain-driven-design - 如何有效地将 SQLAlchemy 与多个 DDD 存储库一起使用?

domain-driven-design - 除了 "real"对象之外,DDD 存储库还可以使用摘要对象吗

c# - 是否有良好的 API 设计模式将写入与读取分开?