【发布时间】:2017-07-21 12:13:40
【问题描述】:
有些属性对域没有意义,但对存储库至关重要,例如分区键。
可以在我的存储库中有一个 DTO 来扩展实体的基本实现并添加相关字段吗?
【问题讨论】:
-
你有这个问题是因为你没有将写和读模型分开;在
CQRS你不会有这种问题。
标签: domain-driven-design dto ddd-repositories
有些属性对域没有意义,但对存储库至关重要,例如分区键。
可以在我的存储库中有一个 DTO 来扩展实体的基本实现并添加相关字段吗?
【问题讨论】:
CQRS你不会有这种问题。
标签: domain-driven-design dto ddd-repositories
这完全没问题。只要此 DTO 保留在存储库中。 在福勒的 PoEAA 中:
存储库模式被描述为:域之间的中介 和数据映射层使用类似集合的接口 访问域对象。
只要存储库正常工作(存储和获取域模型),实现就无关紧要。 只要确保存储库的任何实现细节都不会在项目的其余部分中传播。如果您将 DTO 添加到存储库内的实体,请确保您返回的实体不包含 DTO 或其他不相关的额外字段。
【讨论】: