DDD - 存储库上的实体 DTO 表示
DDD - Entity DTO representation on 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 添加到存储库内的实体,请确保您 return 没有 DTO 或其他不相关的额外字段的实体。
有些属性对域没有意义,但对存储库至关重要,例如分区键。
我的存储库上有一个 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 添加到存储库内的实体,请确保您 return 没有 DTO 或其他不相关的额外字段的实体。