DTO概念
2016-05-02 16:44
274 查看
在开发过程中用到了DTO,简单了解了一下。
DTO:数据传输对象,用来连接表现层和应用层之间的数据交互。数据传输对象是没有行为的POJO对象,它的目的只是为了对领域对象进行数据封装,实现层与层之间的数据传递。我们不直接将领域对象用于数据传递,因为领域对象更注重领域,DTO更注重数据。而且,由于“富领域模型”的特点,直接使用领域模型会将领域对象的行为暴露给表现层。DTO本身不是业务对象。数据传输对象是根据UI的需求而设计的,而不是根据领域对象设计的。简单来说Model面向业务,我们通过业务定义Model,而DTO面向界面UI,是通过UI的需求来定义的,我们通过DTO实现了表现层与Model之间的解耦,表现层不引用Model,如果开发过程中模型改变了,而界面没变,我们就只需要改Model而不需要去改变表现层的bean。
总体而言,我们可以把DTO看成是一种非必须的编程规范。
DTO:数据传输对象,用来连接表现层和应用层之间的数据交互。数据传输对象是没有行为的POJO对象,它的目的只是为了对领域对象进行数据封装,实现层与层之间的数据传递。我们不直接将领域对象用于数据传递,因为领域对象更注重领域,DTO更注重数据。而且,由于“富领域模型”的特点,直接使用领域模型会将领域对象的行为暴露给表现层。DTO本身不是业务对象。数据传输对象是根据UI的需求而设计的,而不是根据领域对象设计的。简单来说Model面向业务,我们通过业务定义Model,而DTO面向界面UI,是通过UI的需求来定义的,我们通过DTO实现了表现层与Model之间的解耦,表现层不引用Model,如果开发过程中模型改变了,而界面没变,我们就只需要改Model而不需要去改变表现层的bean。
总体而言,我们可以把DTO看成是一种非必须的编程规范。
相关文章推荐
- Uva10082 WERTYU -S.B.S.
- Quicksum-S.B.S.
- 326. Power of Three
- NOIP2014提高组 DAY1 -SilverN
- NOIP2013普及组 -SilverN
- Java InputStream、String、File相互转化
- UVa 11292 Dragon of Loowater
- UVa 839 Not so Mobile
- Quicksum -SilverN
- uva 140 bandwidth (好题) ——yhx
- DP————1011
- uva 129 krypton factors ——yhx
- uva 524 prime ring problem——yhx
- uva 1599 ideal path(好题)——yhx
- uva 11059 maximum product(水题)——yhx
- linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql.
- BestCoder Round #82 (div.2) (HDU 5675)(HDU 5676)
- Spark History Server配置使用
- Uva10082 WERTYU -S.B.S.
- uva 524 prime ring problem——yhx