在领域驱动设计中,实体的集合属性是否允许具有部分值?
例如,Customer.Orders、Post.Comments、Graph.Vertices 等属性是否应该始终包含所有订单、评论、顶点,还是允许包含今天的订单、最近的评论、孤立的顶点?
相应地,存储库是否应该提供类似的方法
GetCustomerWithOrdersBySpecification
GetPostWithCommentsBefore
等等?
最佳答案
我不认为 DDD 告诉你要不要这样做。这在很大程度上取决于您正在构建的系统以及您需要解决的具体问题。
我什至没有听说过这方面的模式。
从主观角度来看,我想说实体应该通过定义来完成(考虑延迟加载),并且可以完全或部分加载到 DTO,以优化发送到客户端的数据量。但如果可以解决某些问题,我不介意从数据库加载部分实体。
关于domain-driven-design - 在 DDD 中,实体的集合属性是否允许具有部分值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/983046/