最近一直在整理关于ITOO中学到的东西,感觉这些知识虽然处于似懂非懂已经懂的状态,但点滴的积累在今后的学习中一定会起到意想不到的效果。所以,既然学了,无论理解到什么程度,该总结还是要总结的。。
定义
数据传输对象(DataTranster Object)
是一种模式之间传输数据的软件应用系统。在整个的ITOO中,咱们服务端的ViewModel就运用了DTO的思想。
为何使用
在传统的编程中,咱们一般都是前台请求数据,发送到WCF,然后WCF向数据库发出请求,获取数据,然后一层层返回。模型如下:
这样的模型会有两点不足:
1、多次请求耗费一定的网络资源,减慢效率。
2、如果一次性返回整个实体类,还可能造成数据库表结构的泄漏。
如果使用了DTO,就会是另一种效果
这样做的好处有三点:
1、依据现有的类代码,即可方便的构造出DTO对象,而无需重新进行分析。
2、减少请求次数,大大提高效率。
3、按需组织DTO对象,页面需要的字段我才组织,不需要的我不组织,可以避免传输整个表的字段,一定程度上提高了安全性。
感觉理解的太片面,需要不断的实践和思考。。