有一些属性对于域来说没有意义,但对于存储库来说却是必不可少的,一个例子就是分区键。
我的存储库中可以有一个 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/