DTO:Data Transfer Object 即数据传输对象。
有些人会问这个DTO是干嘛的,不是已经有了Model实体类了么?
首先说一下,DTO是干嘛了。DTO的引入,应该说是伴随着分层架构设计、EF领域驱动设计、单一职责原则设计等产生的。
DTO是处理表现层与应用层之间数据传输的,通过DTO进行数据传输。在传统的三层架构中,界面层与业务逻辑层用Model进行数据传输,但是用Model实体类传输时,会将不需要展示到界面层的信也会反馈到界面层或在返回的Json(XML)字符串中,增加了网络传输的文件大小,同时也将非必要的信息暴露给界面层,引发其它信息安全与系统开发安全。因此引入了纯粹传输数据的对象即DTO。
另一种说法:DTO是会表现层或界面层展示而设计的。Model是为了实现业务逻辑与数据存储而设计的。
另外可以参考如下资料了解