您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

数据传输对象DTO生成位置

数据传输对象DTO生成位置

DTO可用于在应用程序的不同层之间进行数据传输:DAO,服务,外观,控制器。以我的经验,DTO是一个自以为是的话题。

我认为,转换越晚越好,如果不需要转换就更好。通常,后者位于应用程序边界。DTO不是免费的,它涉及映射及其支持。因此,当边界上存在域模型不匹配或模型技术不匹配时,DTO才有意义。有关更多信息,请查看LocalDTO文章和相关链接

如果我专注于 服务 -> 门面 -> 控制器 层:

他们正在做服务的事情,他们可能会互相呼叫进行处理。如果您的域模型在服务边界上保持一致,那么service => facade将结果转换为DTO还为时过早。

他们可以协调服务并转换输入/输出。以我的观点,这将是与DTO相互转换的正确地方。但是只有在需要的时候。因为您的域模型必须跨越此边界进行转换(过滤字段,聚合…)

因此,以我的观点,您的第一个建议更加适应。UserController....。最重要的是保持务实。

其他 2022/1/1 18:14:29 有440人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶