【发布时间】:2019-09-02 21:50:12
【问题描述】:
控制器应该与 DTO 一起使用,服务与域模型一起使用。对于控制器和服务之间的通信,在控制器或服务中从 DTO 转换为模型的最佳位置是什么?还有,执行服务逻辑后构建 DTO 的最佳位置是什么?
【问题讨论】:
-
您可以编写单独的 MappingUtils 将 DTO 映射到模型和模型到 DTO
标签: java oop model-view-controller architecture
控制器应该与 DTO 一起使用,服务与域模型一起使用。对于控制器和服务之间的通信,在控制器或服务中从 DTO 转换为模型的最佳位置是什么?还有,执行服务逻辑后构建 DTO 的最佳位置是什么?
【问题讨论】:
标签: java oop model-view-controller architecture
从 DTO 转换为模型的最佳位置是映射器,反之亦然。
您不应该将转换逻辑放在服务代码中,因为一个 DTO 可以被多个服务使用。将其放入服务代码使其与一项特定服务相关联。不是解决方案。
您不应该将转换逻辑放入控制器中,因为服务为了转换某些东西,会依赖于控制器。不是解决方案。
创建一个Mapper 接口。为其提供实现(您甚至可以使用库进行映射,例如ModelMapper)。并在需要时使用此映射器进行转换。
【讨论】: