java - DTO 转换层

标签 java oop model-view-controller architecture

Controller 应该与 DTO 一起使用,服务与域模型一起使用。对于 Controller 和服务之间的通信,在 Controller 或服务中,从 DTO 转换到模型的最佳位置是什么?另外,执行服务逻辑后构建DTO的最佳位置是什么?

最佳答案

从 DTO 到模型(反之亦然)转换的最佳位置是映射器。

您不应该将转换逻辑放在服务代码中,因为一个 DTO 可以被多个服务使用。将其放入服务代码中使其与一项特定服务绑定(bind)。不是解决方案。

您不应该将转换逻辑放入 Controller 中,因为服务为了转换某些内容,会变得依赖于 Controller 。不是解决方案。

创建一个Mapper接口(interface)。为其提供实现(您甚至可以使用库进行映射,例如 ModelMapper )。并在需要时使用此映射器进行转换。

关于java - DTO 转换层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55646393/

相关文章:

java - 如何在 Android 中以编程方式解压缩文件?

java - DataSource 类型的 getConnection() 方法未定义

php - 您可以从 PHP 中的方法中获取方法名称吗?

java - 在这种情况下,jvm 如何解析对重载方法的调用?

java - 如何在 Spring Boot 中将 POST 请求从一个 Web 应用程序正确转发到另一个 Web 应用程序?

java - 如果列表中尚不存在,则将项目添加到 arraylist

java - 如何使用UNO获取打开的文档?

java - 为什么声明相似的对象名和HashMap没有冲突?

java - 桌面应用程序中的 MVC 和 Swing

javascript - AngularJS - 最佳实践 : model properties on view or function calls?