|
|
1
0
我建议您将域逻辑与演示所需的数据分开。类似于命令查询分离(CQS)或命令查询责任分离(CQRS)。例如,如果有人向主题添加了新消息,您可以创建一个适当的命令,并将其作为域逻辑的一部分进行处理。如果您需要在用户界面中显示一些数据,您可以通过DTO(数据传输对象)选择真正需要的数据。此解决方案避免了不必要的数据检索,并有助于保持简单性。您只检索真正需要的数据。 如果此解决方案导致项目发生大量变化,您可以在存储库中创建一个额外的方法,该方法将返回聚合的轻量级版本(带有消息集合的默认存根)。但这种解决方案有一个缺点——您需要记住,这种方法返回的数据不完整。 |