Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1332964
  • 博文数量: 932
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 10208
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-08 12:28
文章分类

全部博文(932)

文章存档

2021年(1)

2020年(134)

2019年(792)

2018年(5)

我的朋友

分类: 架构设计与优化

2019-12-31 11:32:15

When you need a simpler or more convenient format for some of the data to display in JSPs

上面是从help.hybris.com摘录出来的原话,解释为什么我们需要DTO.

简单来说,就是因为Service Layer定义的model格式和UI需要的格式不是完全一样,如果UI直接消费Service Layer的model,代码写起来非常难看,而且会产生UI layer和service layer的强耦合。

更general地说,可以把DTO看成SADL的实现方式之一,处于BO(service layer) 和UI layer之间, 作为UI(consumer layer)消费Service layer的桥梁:

Hybris的DTO通常以data.java结尾,在我安装的6.5.0.0.23546这一版本里一共有445个DTO:

一个DTO例子:

在CRM Genil layer的实现里,虽然没有明文提出DTO的概念,但是从Genil layer这些方法的signature能看出这种DTO的思路其实也是蕴含在其中的:把数据从genil layer的format CRMT_PRODIL_DATA转换成UI layer的COMT_PRODUCT_MAINTAIN_UI.

CL_CRM_PRODIL_LONGTEXT

阅读(1627) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~