我可以使用由其他类或原语组成的DTO吗?

时间:2011-06-03 12:20:03

标签: java dto

如果我有两个班级:

public class Person {
   public String name;
   public int age;
}

public class Address {
   public String address;
   public int number;
}

我应该构建如下的DTO:

public class MyDTO {
    public Person person;
    public Address address;
}

或者这个:

public class MyDTO {
    public String name;
    public String address;
}

1 个答案:

答案 0 :(得分:0)

你可以在DTO中拥有任何你想要的东西,但基本的想法是尽可能地传输最少量的数据。

请记住,DTO的目的是在JVM边界之间传输数据,例如在使用EJB时​​。如果是这种情况,您必须记住确保DTO中引用的所有类都是可序列化的。

在上面的例子中,最简单的DTO是

public class MyDTO {
    public String name;
    public String address;
}

并且可以轻松消费。

如果您的消费者打算使用Person和Address类,可能更容易将它们放在DTO中,以便更容易使用它们。

没有“一刀切”的答案。这取决于您的环境以及您需要如何工作。