使用 DTO 传输数据

Use DTO for transferring data

我正在研究 DTO。我在下面阅读了有关使用 DTO 的内容 URL:

http://www.servicedesignpatterns.com/requestandresponsemanagement/datatransferobject

据此,DTO 可以具有原始数据类型,如整数、字符串等或其他 DTO。

所以,如果我需要在 DTO 中拥有像 List<Person> 这样的集合,那么它不会传输 List<Person> 或者它会传输?

根据您链接的文章(强调我自己的):

Data Transfer Objects (a.k.a. DTOs) are reusable classes that contain related data and no business logic...

因此,您可能遇到特定 DTO 将在其中包含与其链接的元素集合的情况。但请注意,DTO 应尽可能轻量级,因此,集合可以依次包含其他对象的 ID,可能是与当前 DTO 相关的 DTO 本身。

DTO 只不过是 Java POJO class 没有业务逻辑。

如果您的 DTO 保留 Collection 的引用,它的行为将与 DTO 引用的任何其他对象一样。

DTO class 将仅保存集合的引用(例如:ArrayList)。 任何其他使用 DTO 的 class 都将获得该集合的引用。 换句话说,只有对对象(集合)的引用才会传输,而不是集合本身。