【发布时间】:2019-11-01 06:10:39
【问题描述】:
我的 Web 应用程序有控制器层,它应该从外部服务运行一些操作并发送 ExternalServiceDTO。我的控制器层与 ControllerDTO 一起使用。我有 ControllerDTO 的域模型 - 它是带有域服务 DomainModelService 的 DomainModel。
转换模型的最佳方法是什么?我看到了 2 个选项
ControllerDTO -> DomainModel -> ExternalServiceDTO 这样我们 在准备外部之前首先转换为域模型 dto。外部 dto 将从 DomainModelService 创建。
ControllerDTO -> ExternalServiceDTO 这样,我们只是准备 来自控制器 dto 的外部 dto
请指教
【问题讨论】:
-
好吧,如果域模型是您的中心模型并且包含外部服务所需的所有数据,那么我会投票支持选项 1。无论如何,您可能需要在 ControllerDTO 和 DomainModel 之间进行转换,所以您唯一需要添加的是 DomainModel 和外部 DTO 之间的转换。这将解耦控制器和外部服务,并允许您轻松添加其他控制器和/或外部服务,而无需为所有可能的排列添加转换。
标签: java spring model-view-controller service architecture