DTO -- Data Tranfer Object
DTO最基本的作用是容器类,用来把一个层的数据组装后,一次性带往上一层或下一层。目的是减少不同层之间的交互,提高效率。比如,可以将订单基本信息OrderInfo 和 对应的Payment 信息放在一个大的OrderDTO中,可以从数据库中一次性load。
也可以用在远程调用时,一次性在远程把数据准备好,用DTO返回,避免多次调用远程服务,提高吞吐量。
DTO在创建时,可以考虑将嵌套对象引用改造为基本类型。
VO-- Value Object
主要的特征是 value是其核心,如果两个 objects的value相等,则认为两个objects是相等的,比如 Money。
实际上 有些地方VO和DTO是混用的,只是Martin Fowler的书里,把Value单独放在了一种scenario中。
漫谈DTO(Data Transfer Object) 和VO(Value Object)
原文:https://www.cnblogs.com/swenker/p/13546829.html