看了几套源码,其中都有用到DTO,这篇文章主要来谈论一下DTO使用的场合及其带来的好处。

在传统的编程中,我们一般都是前台请求数据,发送到Webservice,然后WebService向数据库发出请求,获取数据,然后一层层返回;模型如下:

QQ截图20140320170753

这种比较原始的请求方式带来的缺点有很多,多次 请求耗费一定的网络资源,减慢效率。如果一次性返回整个实体类,还可能造成数据库表结构的泄漏。

采用DTO模型之后,整个流程就不一样了:

QQ截图20140320171127

这样带来的好处有:

1.依据现有的类代码,即可方便的构造出DTO对象,而无需重新进行分析。

2.减少请求次数,大大提高效率。

3.按需组织DTO对象,页面需要的字段我才组织,不需要的我不组织,可以避免传输整个表的字段,一定程度上提高了安全性。

通过以上三点,可以看出DTO的设计应该具备这几个特点:

1.按需放入字段。

2.保证贫血模型,不要放任何逻辑在里面。

 

参考文章:

Data Transfer Object(数据传输对象)

在 .NET 中使用 DataSet 实现 Data Transfer Object

posted on 2014-03-20 17:16  程序诗人  阅读(25990)  评论(1编辑  收藏  举报