数据传输对象 在计算机编程中数据传输对象 data transfer objectDTO是在个进程中携带数据的对象因为进程间通信通常用于远程接口如web服务的昂贵操作成本的主体是客户和服务器之间的来回通信时间为降低这种调用次数使用DTO聚合本来需要多次通信传输的数据 DTO与业务对象英语business object或数据访问对象的区别是DTO的数据的变异子与访问子mutator和accessor语法分析parser序列化serializer时不会有任何存储获取序列化和反序列化的异常即DTO是简单对象不含任何业务逻辑但可包含序列化和反序列化以用于传输数据即DTO仅包含数据不包含任何逻辑logic和行为behavior逻辑logic和行为behavior指该类型的方法对于CDTO只包含属性property这些属性只能读get写set数据不能对属性做验证validate或执行其他操作 向DTO添加元数据以使其支持模型验证或类似目的的情况并不罕见这不会向DTO本身添加任何行为而是使能系统其他地方行为 因此它们并没有违反DTO不应包含任何行为的规则