Satu lagi lapisan enkapsulasi, Nama kelas harus berkaitan dengan perniagaan
public class UserAndCustomerVo{
private User user;
private Customer customer;
//getter setter method
}
@RequestMapping("test")
public UserAndCustomerVo getSomeInfo() {
User user = new User();
Customer customer = new Customer();
UserAndCustomerVo uacVo = new UserAndCustomerVo();
uacVo.setUser(user);
uacVo.setCustomer(customer);
return uacVo;
}
Dengan cara ini anda boleh terus menambah lagi jika perniagaan anda berkembang pada masa hadapan
Saya rasa ia lebih mudah dan lebih baik untuk menggunakan Peta. Jika data yang ingin anda hantar mempunyai jenis yang jelas, nampaknya anda hanya boleh menentukan sendiri jenis atau antara muka. Walau bagaimanapun, jika ia digunakan untuk menukar kepada JSON, adalah lebih baik untuk menggunakan Map.
Selain itu, anda juga boleh menggunakan kelas tanpa nama,
class User {
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
private String name;
public int getAge() {
return age;
}
private int age;
}
class Customer {
public Customer(String name, double money) {
this.name = name;
this.money = money;
}
public String getName() {
return name;
}
private String name;
public double getMoney() {
return money;
}
private double money;
}
public class Test extends Thread {
public static void main(String[] args) {
final User _user = new User("James", 30);
final Customer _customer = new Customer("Andy", 100.00);
// 匿名类实现组合类型
Object combine = new Object() {
{
this.user = _user;
this.customer = _customer;
}
private User user;
private Customer customer;
public User getUser() {
return user;
}
public Customer getCustomer() {
return customer;
}
public String toString() {
return user.getName() + "|" + customer.getName();
}
};
System.out.println(combine.toString());
}
}
Jika anda memerlukan antara muka yang jelas, anda boleh menyesuaikan antara muka dan menggantikan new Object() { .... } dalam kod dengan antara muka anda sendiri - tetapi ia sangat menyusahkan untuk menulis, jadi anda boleh menentukan sendiri jenis gabungan. Anda boleh menyelidik sendiri generik Tuple tersuai (nampaknya anda juga boleh mencarinya dalam talian). Object
Satu lagi lapisan enkapsulasi,
Nama kelas harus berkaitan dengan perniagaan
Dengan cara ini anda boleh terus menambah lagi jika perniagaan anda berkembang pada masa hadapan
Saya rasa ia lebih mudah dan lebih baik untuk menggunakan Peta. Jika data yang ingin anda hantar mempunyai jenis yang jelas, nampaknya anda hanya boleh menentukan sendiri jenis atau antara muka. Walau bagaimanapun, jika ia digunakan untuk menukar kepada JSON, adalah lebih baik untuk menggunakan Map.
Selain itu, anda juga boleh menggunakan kelas tanpa nama,
Jika anda memerlukan antara muka yang jelas, anda boleh menyesuaikan antara muka dan menggantikan
new Object() { .... }
dalam kod dengan antara muka anda sendiri - tetapi ia sangat menyusahkan untuk menulis, jadi anda boleh menentukan sendiri jenis gabungan. Anda boleh menyelidik sendiri generik Tuple tersuai (nampaknya anda juga boleh mencarinya dalam talian).Object
Secara peribadi, saya rasa Map lebih diterima, Map<String, List<Model>>, hanya beberapa kelas kacang dan beberapa senarai dimasukkan ke dalam Map