Stavo lavorando con alcune API che sono state utilizzate internamente, e mentre osservavo il loro codice ho trovato qualcosa del genere:
public class Parent {
@Data
public static class Child {
private List<GrandChild> grandChildren;
@Data
public static class GrandChild {
private String name;
}
}
}
Questa rappresentazione gerarchica è stata ampiamente utilizzata, e ha reso la creazione di alcuni elenchi molto controintuitivi, come ad esempio List<Parent.Child.GrandChild.NewBorn>
. Queste rappresentazioni sono state utilizzate per rappresentare una risposta JSON. Quindi questa gerarchia corrispondeva alla gerarchia restituita nella risposta.
Il mio problema principale era che era prolisso e aveva un sacco di codice duplicato, ad esempio, creando un'altra classe Parent2
significherebbe che dovremmo copiare le definizioni delle classi di Child
e GrandChild
nel nuova Parent2
class.
Ci sarebbero dei vantaggi nell'utilizzare tali rappresentazioni?
Ci sono dei lati negativi di questo utilizzo di cui non sono a conoscenza?
Ha dei guadagni in termini di prestazioni?