在我的Dropwizard项目中,我已经定义了杰克逊映射到JSON的DTO,例如。
public class UserDTO implements Principal {
private String username;
private int role;
private String realName;
private String apartment;
public UserDTO(String username, int role, String realName, String apartment) {
this.username = username;
this.role = role;
this.realName = realName;
this.apartment = apartment;
}
public String getRealName() {
return realName;
}
public String getApartment() {
return apartment;
}
public String getName() {
return username;
}
public int getRole() {
return role;
}
}
这一切都很好,花花公子。现在我可能有另一个DTO用于导出关于给定用户的一些统计信息:
public class UsageDTO {
private int sumOfWashingMachineUses;
private int sumOfTumbleDryUses;
private int month;
private int year;
public UsageDTO(int sumOfWashingMachineUses, int sumOfTumbleDryUses, int year, int month) {
this.sumOfWashingMachineUses = sumOfWashingMachineUses;
this.sumOfTumbleDryUses = sumOfTumbleDryUses;
this.year = year;
this.month = month;
}
public int getSumOfWashingMachineUses() {
return sumOfWashingMachineUses;
}
public int getSumOfTumbleDryUses() {
return sumOfTumbleDryUses;
}
public int getMonth() {
return month;
}
public int getYear() {
return year;
}
}
一切都很棒。但在某些时候,我可能想要结合其中任何一个类的细节。做这个的最好方式是什么?到目前为止,我一直在为服务器能够返回的每种类型的内容创建一个新类。看起来我在这些(哑)课程中重复了很多东西。这真的是要走的路吗?