不应该在 DtoAssembler 里获取其他服务的数据来补全 DTO。DtoAssembler 应该只负责将实体对象转换为 DTO 对象,而不应该涉及其他服务的数据获取。

如果需要获取其他服务的数据来补全 DTO,应该在 ApplicationService 里进行。在 ApplicationService 里,可以调用其他服务的 API 或者领域服务来获取所需数据,并将其组装到 DTO 中。

例如,假设我们要创建一个包含用户信息和订单信息的 DTO。我们可以先在 DtoAssembler 中将 User 实体对象转换为 UserDTO 对象,然后在 ApplicationService 中调用 OrderService 的 API 获取订单信息,并将订单信息添加到 UserDTO 中。

这样做的好处是:

  • 遵循单一职责原则:DtoAssembler 只负责 DTO 的转换,ApplicationService 负责业务逻辑的处理,包括数据获取和 DTO 的组装。
  • 代码更清晰易懂:将数据获取和 DTO 组装逻辑集中在 ApplicationService 中,使代码更易于理解和维护。
  • 更易于测试:可以独立测试 DtoAssembler 和 ApplicationService,提高代码的可测试性。
DTO 补全:在 DtoAssembler 还是 ApplicationService 获取数据?

原文地址: https://www.cveoy.top/t/topic/f2fR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录